@itwin/unified-selection
Version:
Package for managing unified selection in iTwin.js applications.
48 lines • 1.76 kB
TypeScript
import { Id64String } from "@itwin/core-bentley";
import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared";
import { Selectables } from "./Selectable.js";
/**
* A set of model, subcategory and element ids that can be used for specifying hilite.
*
* **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 https://www.itwinjs.org/reference/core-frontend/selectionset/hiliteset/
* @see `HiliteSetProvider`
* @see `createHiliteSetProvider`
* @public
*/
export interface HiliteSet {
models: Id64String[];
subCategories: Id64String[];
elements: Id64String[];
}
/**
* Props for creating a `HiliteSetProvider` instance.
* @public
*/
export interface HiliteSetProviderProps {
/** An object that provides access to iModel's metadata and allows running ECSQL queries on it. */
imodelAccess: ECClassHierarchyInspector & ECSqlQueryExecutor;
}
/**
* Defines return value of `createHiliteSetProvider`.
*
* **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 `createHiliteSetProvider`
* @public
*/
export interface HiliteSetProvider {
/** Get the current hilite set iterator for the specified imodel */
getHiliteSet(props: {
selectables: Selectables;
}): AsyncIterableIterator<HiliteSet>;
}
/**
* Creates a hilite set provider that returns a `HiliteSet` for given selectables.
* @public
*/
export declare function createHiliteSetProvider(props: HiliteSetProviderProps): HiliteSetProvider;
//# sourceMappingURL=HiliteSetProvider.d.ts.map