import { Destroyable, Event, Listener, ObservableArray, ObservableArrayChangeInfo } from "xbsj-renderer/dist-node/xr-base-utils"; import { TreeItem } from "./TreeItem"; import { UiTree } from "./UiTree"; import { canMoveToTreeItem, canMoveToTreeItems, moveToTreeItem, moveToTreeItems } from "./move"; export declare class Tree extends Destroyable { static defaultItemDivHeight: number; private _root; private _itemChildrenChanged; private _itemChildrenToChange; private _itemsAdded; private _itemsDeleted; private _itemsChanged; private _transactionStack; private _addedItems; private _deletedItems; private _selectedItems; get selectedItems(): ObservableArray; get lastSelectedItem(): T | undefined; private _itemDivHeight; get itemDivHeight(): number; set itemDivHeight(value: number); get itemDivHeightChanged(): Listener<[number, number]>; private _forceRedrawEvent; forceRedraw(): void; private _uiTree; get uiTree(): UiTree>; constructor(itemDivHeight?: number); get root(): TreeItem; get children(): ObservableArray; getDescendants(traverseFunc?: (treeItem: T) => boolean): Generator; getTreeItemFromId(id: string): TreeItem | undefined; _startTransaction(): void; _stopTransaction(): void; _execTransaction(): void; get itemChildrenChanged(): Event<[T]>; get itemChildrenToChange(): Event<[item: T, changeInfos: ObservableArrayChangeInfo[], toDels: Set, toAdds: Set]>; get itemsChanged(): Event<[T[]]>; get itemsAdded(): Listener<[T[]]>; get itemsDeleted(): Listener<[T[]]>; static canMoveToTreeItem: typeof canMoveToTreeItem; static moveToTreeItem: typeof moveToTreeItem; static canMoveToTreeItems: typeof canMoveToTreeItems; static moveToTreeItems: typeof moveToTreeItems; }