import "./SelectableTree.scss"; import type { IModelConnection } from "@itwin/core-frontend"; /** * Props for rendering trees * @public */ export interface SelectableTreeRenderProps { density?: "enlarged" | "default"; onPerformanceMeasured?: (featureId: string, elapsedTime: number) => void; onFeatureUsed?: (feature: string) => void; } /** * Definition of a tree component displayed in `SelectableTree`. * @public */ export interface SelectableTreeDefinition { /** Id of the tree */ id: string; /** Callback that is used to get tree label */ getLabel: () => string; /** Callback that is used to render tree component */ render: (props: SelectableTreeRenderProps) => React.ReactNode; /** * Callback that is used to determine if tree should be shown for current active iModel connection. * If callback is `undefined` tree is shown for all iModel connections. */ shouldShow?: (imodel: IModelConnection) => Promise; /** Icon to render before tree label in tree selector */ startIcon?: React.ReactNode; } /** * Props for `SelectableTree` * @public */ export interface SelectableTreeProps { trees: SelectableTreeDefinition[]; density?: "enlarged" | "default"; onPerformanceMeasured?: (feature: string, elapsedTime: number) => void; onFeatureUsed?: (feature: string) => void; } /** * A component that renders a tree (combo box) selector and the selected tree component. * @public */ export declare function SelectableTree(props: SelectableTreeProps): import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=SelectableTree.d.ts.map