/** @packageDocumentation * @module RPC */ import { IModelRpcProps } from "@itwin/core-common"; import { ComputeSelectionRpcRequestOptions, ContentDescriptorRpcRequestOptions, ContentInstanceKeysRpcRequestOptions, ContentRpcRequestOptions, ContentSourcesRpcRequestOptions, ContentSourcesRpcResult, DescriptorJSON, DisplayLabelRpcRequestOptions, DisplayLabelsRpcRequestOptions, DisplayValueGroup, DistinctValuesRpcRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRpcRequestOptions, FilterByTextHierarchyRpcRequestOptions, HierarchyLevelDescriptorRpcRequestOptions, HierarchyRpcRequestOptions, ItemJSON, KeySetJSON, LabelDefinition, Node, NodePathElement, Paged, PagedResponse, PresentationRpcInterface, PresentationRpcResponse, SelectionScope, SelectionScopeRpcRequestOptions, SingleElementPropertiesRpcRequestOptions } from "@itwin/presentation-common"; import { PresentationManager } from "./PresentationManager.js"; import { TemporaryStorage } from "./TemporaryStorage.js"; /** @internal */ export declare const MAX_ALLOWED_PAGE_SIZE = 1000; /** @internal */ export declare const MAX_ALLOWED_KEYS_PAGE_SIZE = 10000; /** * The backend implementation of PresentationRpcInterface. All it's basically * responsible for is forwarding calls to [[Presentation.manager]]. * * @internal */ export declare class PresentationRpcImpl extends PresentationRpcInterface implements Disposable { private _requestTimeout; private _pendingRequests; private _cancelEvents; private _statusHandler; constructor(props?: { requestTimeout?: number; }); [Symbol.dispose](): void; get requestTimeout(): number; get pendingRequests(): TemporaryStorage>; /** Returns an ok response with result inside */ private successResponse; /** Returns a bad request response with empty result and an error code */ private errorResponse; /** * Get the [[PresentationManager]] used by this RPC impl for the currently authenticated client. * * In IPC apps there's a single trusted local user, so a single shared manager is used for all * requests (consistent with [[PresentationIpcHandler]]). In web apps, the manager is keyed by the * JWT `sub` (subject) claim derived from the request's access token, so all sessions of the same * user share a manager. When there's no usable token, the default shared manager is used. */ getManager(): PresentationManager; private getIModel; private makeRequest; getNodesCount(token: IModelRpcProps, requestOptions: HierarchyRpcRequestOptions): PresentationRpcResponse; getPagedNodes(token: IModelRpcProps, requestOptions: Paged): PresentationRpcResponse>; getNodesDescriptor(token: IModelRpcProps, requestOptions: HierarchyLevelDescriptorRpcRequestOptions): PresentationRpcResponse; getNodePaths(token: IModelRpcProps, requestOptions: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse; getFilteredNodePaths(token: IModelRpcProps, requestOptions: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse; getContentSources(token: IModelRpcProps, requestOptions: ContentSourcesRpcRequestOptions): PresentationRpcResponse; getContentDescriptor(token: IModelRpcProps, requestOptions: ContentDescriptorRpcRequestOptions): PresentationRpcResponse; getContentSetSize(token: IModelRpcProps, requestOptions: ContentRpcRequestOptions): PresentationRpcResponse; getPagedContent(token: IModelRpcProps, requestOptions: Paged): PresentationRpcResponse<{ descriptor: DescriptorJSON; contentSet: PagedResponse; } | undefined>; getPagedContentSet(token: IModelRpcProps, requestOptions: Paged): PresentationRpcResponse>; getElementProperties(token: IModelRpcProps, requestOptions: SingleElementPropertiesRpcRequestOptions): PresentationRpcResponse; getPagedDistinctValues(token: IModelRpcProps, requestOptions: DistinctValuesRpcRequestOptions): PresentationRpcResponse>; getContentInstanceKeys(token: IModelRpcProps, requestOptions: ContentInstanceKeysRpcRequestOptions): PresentationRpcResponse<{ total: number; items: KeySetJSON; }>; getDisplayLabelDefinition(token: IModelRpcProps, requestOptions: DisplayLabelRpcRequestOptions): PresentationRpcResponse; getPagedDisplayLabelDefinitions(token: IModelRpcProps, requestOptions: DisplayLabelsRpcRequestOptions): PresentationRpcResponse>; getSelectionScopes(token: IModelRpcProps, requestOptions: SelectionScopeRpcRequestOptions): PresentationRpcResponse; computeSelection(token: IModelRpcProps, requestOptions: ComputeSelectionRpcRequestOptions): PresentationRpcResponse; } //# sourceMappingURL=PresentationRpcImpl.d.ts.map