UNPKG

@itwin/unified-selection

Version:

Package for managing unified selection in iTwin.js applications.

56 lines 2.37 kB
import "./DisposePolyfill.js"; import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; import { createHiliteSetProvider, HiliteSet } from "./HiliteSetProvider.js"; import { SelectionStorage } from "./SelectionStorage.js"; /** * Props for creating a `CachingHiliteSetProvider` instance. * @public * @deprecated in 1.5. Use `IModelHiliteSetProviderProps` instead. */ export interface CachingHiliteSetProviderProps { /** Selection storage to use for retrieving the hilite set. */ selectionStorage: SelectionStorage; /** A callback that should return iModel access by iModel key. */ imodelProvider: (imodelKey: string) => ECClassHierarchyInspector & ECSqlQueryExecutor; /** An optional hilite set provider factory. If not provided, defaults to `createHiliteSetProvider` from this package. */ createHiliteSetProvider?: typeof createHiliteSetProvider; } /** * Defines return value of `createCachingHiliteSetProvider`. * * **Warning:** Used in public API as a return value. Not expected to be created / extended by package * consumers, may be supplemented with required attributes any time. * * @see `createCachingHiliteSetProvider` * @public * @deprecated in 1.5. Use `IModelHiliteSetProvider` instead. */ export interface CachingHiliteSetProvider { /** Get the current hilite set iterator for the specified imodel */ getHiliteSet(props: { /** iModel to get hilite set for */ imodelKey: string; }): AsyncIterableIterator<HiliteSet>; /** * Disposes the cache. * * Optional to avoid breaking the API. Will be made required when the deprecated * `dispose` is removed. */ [Symbol.dispose]?: () => void; /** * Disposes the cache. * @deprecated in 1.2. Use `[Symbol.dispose]` instead. */ dispose(): void; } /** * Creates a hilite set provider that caches hilite set for current selection for given iModel so any subsequent * hilite set requests for the same iModel don't cost until selection in given selection storage changes. * @public * @deprecated in 1.5. Use `createIModelHiliteSetProvider` instead. */ export declare function createCachingHiliteSetProvider(props: CachingHiliteSetProviderProps): CachingHiliteSetProvider & { [Symbol.dispose]: () => void; }; //# sourceMappingURL=CachingHiliteSetProvider.d.ts.map