import type { ReactElement } from "react"; import type { Id64String } from "@itwin/core-bentley"; import type { IModelConnection, Viewport } from "@itwin/core-frontend"; import type { TreeHeaderButtonProps } from "../../tree-header/TreeHeader.js"; /** * Information about a single Model. * @public */ export interface ModelInfo { id: string; isPlanProjection?: boolean; } /** * Props that get passed to `ModelsTreeComponent` header button renderer. * @see ModelTreeComponentProps.headerButtons * @public */ export interface ModelsTreeHeaderButtonProps extends TreeHeaderButtonProps { /** A list of models available in the iModel. */ models: ModelInfo[]; } /** * Custom hook that creates props required to render `ModelsTreeComponent` header button. * * Example: * ```tsx * const { buttonProps, onModelsFiltered } = useModelsTreeButtonProps({ imodel, viewport }); * , * , * ]} * > * * * ``` * * * @public */ export declare function useModelsTreeButtonProps({ imodel, viewport }: { imodel: IModelConnection; viewport: Viewport; }): { buttonProps: Pick; onModelsFiltered: (models: Id64String[] | undefined) => void; }; /** @public */ export type ModelsTreeHeaderButtonType = (props: ModelsTreeHeaderButtonProps) => ReactElement | null; /** @public */ export declare function ShowAllButton(props: ModelsTreeHeaderButtonProps): import("react/jsx-runtime.js").JSX.Element; /** @public */ export declare function HideAllButton(props: ModelsTreeHeaderButtonProps): import("react/jsx-runtime.js").JSX.Element; /** @public */ export declare function InvertButton(props: ModelsTreeHeaderButtonProps): import("react/jsx-runtime.js").JSX.Element; /** @public */ export declare function View2DButton(props: ModelsTreeHeaderButtonProps): import("react/jsx-runtime.js").JSX.Element; /** @public */ export declare function View3DButton(props: ModelsTreeHeaderButtonProps): import("react/jsx-runtime.js").JSX.Element; /** @public */ export declare function ToggleInstancesFocusButton({ density, onFeatureUsed }: { density?: "default" | "enlarged"; onFeatureUsed?: (feature: string) => void; }): import("react/jsx-runtime.js").JSX.Element; //# sourceMappingURL=ModelsTreeButtons.d.ts.map