/** @packageDocumentation
 * @module IModelComponents
 */
import "./ModelsTree.scss";
import * as React from "react";
import { SelectionMode } from "@itwin/components-react";
import { Id64Array } from "@itwin/core-bentley";
import { IModelConnection, Viewport } from "@itwin/core-frontend";
import { Ruleset } from "@itwin/presentation-common";
import { IPresentationTreeDataProvider } from "@itwin/presentation-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
 * @deprecated in 3.6. Was moved to `@itwin/tree-widget-react` package.
 */
export interface ModelsTreeProps {
    /**
     * An IModel to pull data from
     */
    iModel: IModelConnection;
    /** Width of the component */
    width: number;
    /** Height of the component */
    height: number;
    /**
     * Selection mode in the tree
     */
    selectionMode?: SelectionMode;
    /**
     * Predicate which indicates whether node can be selected or no
     * @alpha
     */
    selectionPredicate?: ModelsTreeSelectionPredicate;
    /**
     * Active view used to determine and control visibility
     */
    activeView?: Viewport;
    /**
     * Ref to the root HTML element used by this component
     */
    rootElementRef?: React.Ref<HTMLDivElement>;
    /**
     * 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;
}
/**
 * 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
 * @deprecated in 3.6. Was moved to `@itwin/tree-widget-react` package.
 */
export declare function ModelsTree(props: ModelsTreeProps): JSX.Element;
//# sourceMappingURL=ModelsTree.d.ts.map