@itwin/unified-selection
Version:
Package for managing unified selection in iTwin.js applications.
56 lines • 2.37 kB
TypeScript
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