UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

50 lines 3.17 kB
/** @packageDocumentation * @module RpcInterface */ import type { TransferConfig } from "@itwin/object-storage-core/lib/common"; import { Id64Array } from "@itwin/core-bentley"; import { IModelRpcProps } from "../IModel"; import { RpcInterface } from "../RpcInterface"; import { ElementGraphicsRequestProps } from "../tile/ElementGraphics"; import { IModelTileTreeProps, TileContentIdentifier, TileContentSource, TileVersionInfo } from "../TileProps"; /** @public */ export declare abstract class IModelTileRpcInterface extends RpcInterface { static getClient(): IModelTileRpcInterface; /** The immutable name of the interface. */ static readonly interfaceName = "IModelTileRpcInterface"; /** The semantic version of the interface. */ static interfaceVersion: string; /** Get storage config required to download tiles from the tile cache. * @returns undefined if the backend does not support caching. In that case, tiles must be requested using [[generateTileContent]]. * @beta */ getTileCacheConfig(_tokenProps: IModelRpcProps): Promise<TransferConfig | undefined>; /** @internal */ requestTileTreeProps(_tokenProps: IModelRpcProps, _id: string): Promise<IModelTileTreeProps>; /** Ask the backend to generate content for the specified tile. This function, unlike the deprecated `requestTileContent`, does not check the cloud storage tile cache - * Use `CloudStorageTileCache.retrieve` for that. * @returns TileContentSource - if Backend, use retrieveTileContent. If ExternalCache, use TileAdmin.requestCachedTileContent * @internal */ generateTileContent(_rpcProps: IModelRpcProps, _treeId: string, _contentId: string, _guid: string | undefined): Promise<TileContentSource>; /** Retrieves tile content from the backend once it's generated by generateTileContent. * @internal */ retrieveTileContent(_rpcProps: IModelRpcProps, _key: TileContentIdentifier): Promise<Uint8Array>; /** @internal */ queryVersionInfo(): Promise<TileVersionInfo>; /** This is a temporary workaround for folks developing authoring applications, to be removed when proper support for such applications is introduced. * Given a set of model Ids, it purges any associated tile tree state on the back-end so that the next request for the tile tree or content will recreate that state. * Invoked after a modification is made to the model(s). * If no array of model Ids is supplied, it purges *all* tile trees, which can be quite inefficient. * @internal */ purgeTileTrees(_tokenProps: IModelRpcProps, _modelIds: Id64Array | undefined): Promise<void>; /** Requests graphics for a single element in "iMdl" format. * @returns graphics in iMdl format, or `undefined` if the element's geometry produced no graphics or the request was canceled before completion. * @throws IModelError on bad request (nonexistent element, duplicate request Id, etc). * @internal */ requestElementGraphics(_rpcProps: IModelRpcProps, _request: ElementGraphicsRequestProps): Promise<Uint8Array | undefined>; } //# sourceMappingURL=IModelTileRpcInterface.d.ts.map