@itwin/core-common
Version:
iTwin.js components common to frontend and backend
50 lines • 3.17 kB
TypeScript
/** @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