/** @packageDocumentation * @module Tree */ import { BeUiEvent } from "@bentley/bentleyjs-core"; import { MutableTreeModel, TreeModel, VisibleTreeNodes } from "./TreeModel"; /** * Data structure that describes changes which happened to the tree model * @public */ export interface TreeModelChanges { addedNodeIds: string[]; modifiedNodeIds: string[]; removedNodeIds: string[]; } /** * Controls tree model and visible tree nodes. * It is used to modify model and inform when tree model changes. * @public */ export declare class TreeModelSource { private _model; private _visibleNodes?; /** Event that is emitted every time tree model is changed. */ onModelChanged: BeUiEvent<[TreeModel, TreeModelChanges]>; constructor(_model?: MutableTreeModel); /** * Modifies tree model using provided callback. * If changes to tree model is detected then onModelChanged event is emitted. */ modifyModel(callback: (model: MutableTreeModel) => void): void; /** Returns tree model. */ getModel(): TreeModel; /** Computes and returns flat list of visible tree nodes. */ getVisibleNodes(): VisibleTreeNodes; private collectModelChanges; } //# sourceMappingURL=TreeModelSource.d.ts.map