/** @packageDocumentation * @module IModelComponents */ import "./ModelsTree.scss"; import * as React from "react"; import { Id64Array } from "@bentley/bentleyjs-core"; import { IModelConnection, Viewport } from "@bentley/imodeljs-frontend"; import { Ruleset } from "@bentley/presentation-common"; import { IPresentationTreeDataProvider } from "@bentley/presentation-components"; import { SelectionMode } from "@bentley/ui-components"; import { ClassGroupingOption, VisibilityTreeFilterInfo } from "../Common"; import { ModelsTreeSelectionPredicate, ModelsVisibilityHandler } from "./ModelsVisibilityHandler"; /** @internal */ export declare const RULESET_MODELS: Ruleset; /** @internal */ export declare const RULESET_MODELS_GROUPED_BY_CLASS: Ruleset; /** Props for [[ModelsTree]] component * @public */ export interface ModelsTreeProps { /** * An IModel to pull data from */ iModel: IModelConnection; /** * Selection mode in the tree */ selectionMode?: SelectionMode; /** * Predicate which indicates whether node can be selected or no * @alpha */ selectionPredicate?: ModelsTreeSelectionPredicate; /** * Start loading hierarchy as soon as the component is created * @deprecated Going to be removed due to too high pressure on the backend */ enablePreloading?: boolean; /** * Active view used to determine and control visibility */ activeView?: Viewport; /** * Ref to the root HTML element used by this component */ rootElementRef?: React.Ref; /** * Information for tree filtering. * @alpha */ filterInfo?: VisibilityTreeFilterInfo; /** * Filter the hierarchy by given element IDs. * @alpha */ filteredElementIds?: Id64Array; /** * Callback invoked when tree is filtered. */ onFilterApplied?: (filteredDataProvider: IPresentationTreeDataProvider, matchesCount: number) => void; /** * Should the tree group displayed element nodes by class. * @beta */ enableElementsClassGrouping?: ClassGroupingOption; /** * Auto-update the hierarchy when data in the iModel changes. * @alpha */ enableHierarchyAutoUpdate?: boolean; /** * Custom visibility handler. * @alpha */ modelsVisibilityHandler?: ModelsVisibilityHandler; /** * Custom data provider to use for testing * @internal */ dataProvider?: IPresentationTreeDataProvider; } /** * A tree component that shows a subject - model - category - element * hierarchy along with checkboxes that represent and allow changing * the display of those instances. * @public */ export declare function ModelsTree(props: ModelsTreeProps): JSX.Element; /** * ModelsTree that is connected to the IModelConnection property in the Redux store. The * application must set up the Redux store and include the FrameworkReducer. * @alpha */ export declare const IModelConnectedModelsTree: import("react-redux").ConnectedComponent; //# sourceMappingURL=ModelsTree.d.ts.map