@itwin/presentation-backend
Version:
Backend of iTwin.js Presentation library
74 lines • 5.67 kB
TypeScript
import { IModelDb } from "@itwin/core-backend";
import { BeEvent } from "@itwin/core-bentley";
import { UnitSystemKey } from "@itwin/core-quantity";
import { Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, Item, KeySet, LabelDefinition, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, UpdateInfo, WithCancelEvent } from "@itwin/presentation-common";
import { NativePlatformDefinition, NativePresentationKeySetJSON } from "./NativePlatform.js";
import { PresentationManagerProps } from "./PresentationManager.js";
import { RulesetManager } from "./RulesetManager.js";
import { BackendDiagnosticsAttribute, BackendDiagnosticsOptions } from "./Utils.js";
/**
* Produce content descriptor that is not intended for querying content. Allows the implementation to omit certain
* operations to make obtaining content descriptor faster.
* @internal
*/
export declare const DESCRIPTOR_ONLY_CONTENT_FLAG: number;
interface PresentationManagerDetailProps extends PresentationManagerProps {
id?: string;
addon?: NativePlatformDefinition;
}
/** @internal */
export declare class PresentationManagerDetail implements Disposable {
private _disposed;
private _nativePlatform;
private _diagnosticsOptions;
rulesets: RulesetManager;
activeUnitSystem: UnitSystemKey | undefined;
readonly onUsed: BeEvent<() => void>;
constructor(params: PresentationManagerDetailProps);
[Symbol.dispose](): void;
getNativePlatform(): NativePlatformDefinition;
getNodes(requestOptions: WithCancelEvent<Prioritized<Paged<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<string>;
getNodesCount(requestOptions: WithCancelEvent<Prioritized<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
getNodesDescriptor(requestOptions: WithCancelEvent<Prioritized<HierarchyLevelDescriptorRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<string>;
getNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByInstancePathsHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]>;
getFilteredNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByTextHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]>;
getContentDescriptor(requestOptions: WithCancelEvent<Prioritized<ContentDescriptorRequestOptions<IModelDb, KeySet>>>): Promise<string>;
getContentSources(requestOptions: WithCancelEvent<Prioritized<ContentSourcesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<SelectClassInfo[]>;
getContentSetSize(requestOptions: WithCancelEvent<Prioritized<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
getContentSet(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Item[]>;
getContent(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Content | undefined>;
getPagedDistinctValues(requestOptions: WithCancelEvent<Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
getDisplayLabelDefinition(requestOptions: WithCancelEvent<Prioritized<DisplayLabelRequestOptions<IModelDb, InstanceKey>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition>;
getDisplayLabelDefinitions(requestOptions: WithCancelEvent<Prioritized<Paged<DisplayLabelsRequestOptions<IModelDb, InstanceKey>>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition[]>;
/** Registers given ruleset and replaces the ruleset with its ID in the resulting object */
registerRuleset(rulesetOrId: Ruleset | string): string;
/** @internal */
getRulesetId(rulesetOrId: Ruleset | string): string;
request(params: RequestParams): Promise<string>;
}
interface RequestParams {
diagnostics?: BackendDiagnosticsOptions;
requestId: string;
imodel: IModelDb;
unitSystem?: UnitSystemKey;
cancelEvent?: BeEvent<() => void>;
}
interface RulesetIdObject {
uniqueId: string;
parts: {
id: string;
hash?: string;
};
}
/** @internal */
export declare function getRulesetIdObject(rulesetOrId: Ruleset | string): RulesetIdObject;
/** @internal */
export declare function getKeysForContentRequest(keys: Readonly<KeySet>, classInstanceKeysProcessor?: (keys: Map<string, Set<string>>) => void): NativePresentationKeySetJSON;
/** @internal */
export declare function bisElementInstanceKeysProcessor(imodel: IModelDb, classInstancesMap: Map<string, Set<string>>): void;
/** @internal */
export declare function ipcUpdatesHandler(info: UpdateInfo | undefined): void;
/** @internal */
export declare function noopUpdatesHandler(_info: UpdateInfo | undefined): void;
export {};
//# sourceMappingURL=PresentationManagerDetail.d.ts.map