/** @packageDocumentation * @module IModelComponents */ import { BeEvent } from "@bentley/bentleyjs-core"; import { IModelConnection, ViewManager, Viewport } from "@bentley/imodeljs-frontend"; import { NodeKey } from "@bentley/presentation-common"; import { TreeNodeItem } from "@bentley/ui-components"; import { IVisibilityHandler, VisibilityChangeListener, VisibilityStatus } from "../VisibilityTreeEventHandler"; /** * Loads categories from viewport or uses provided list of categories. * @internal */ export declare function useCategories(viewManager: ViewManager, imodel: IModelConnection, view?: Viewport): Category[]; /** @internal */ export declare function loadCategoriesFromViewport(iModel?: IModelConnection, vp?: Viewport): Promise; /** * Data structure that describes category. * @internal */ export interface Category { key: string; children?: string[]; } /** @internal */ export interface CategoryVisibilityHandlerParams { viewManager: ViewManager; imodel: IModelConnection; categories: Category[]; activeView?: Viewport; allViewports?: boolean; } /** @internal */ export declare class CategoryVisibilityHandler implements IVisibilityHandler { private _viewManager; private _imodel; private _pendingVisibilityChange; private _activeView?; private _useAllViewports; private _categories; constructor(params: CategoryVisibilityHandlerParams); dispose(): void; onVisibilityChange: BeEvent; getVisibilityStatus(node: TreeNodeItem, nodeKey: NodeKey): VisibilityStatus; changeVisibility(node: TreeNodeItem, nodeKey: NodeKey, shouldDisplay: boolean): Promise; getSubCategoryVisibility(id: string): "hidden" | "visible"; getCategoryVisibility(id: string): "hidden" | "visible"; getParent(key: string): Category | undefined; private onDisplayStyleChanged; private onViewedCategoriesChanged; private onVisibilityChangeInternal; static getInstanceIdFromTreeNodeKey(nodeKey: NodeKey): string; /** Changes category display in the viewport */ static enableCategory(viewManager: ViewManager, imodel: IModelConnection, ids: string[], enabled: boolean, forAllViewports: boolean, enableAllSubCategories?: boolean): void; /** Changes subcategory display in the viewport */ static enableSubCategory(viewManager: ViewManager, key: string, enabled: boolean, forAllViewports?: boolean): void; } //# sourceMappingURL=CategoryVisibilityHandler.d.ts.map