import type { Mutable, Event, CancellationToken } from '@difizen/mana-common'; import { DisposableCollection } from '@difizen/mana-common'; import { Emitter, WaitUntilEvent } from '@difizen/mana-common'; import type { TreeNode } from './tree'; import { Tree, CompositeTreeNode } from './tree'; /** * A default implementation of the tree. */ export declare class TreeImpl implements Tree { protected _root: TreeNode | undefined; protected readonly onChangedEmitter: Emitter; protected readonly onNodeRefreshedEmitter: Emitter<{ children: readonly TreeNode[]; } & TreeNode & WaitUntilEvent>; protected readonly toDispose: DisposableCollection; protected readonly onDidChangeBusyEmitter: Emitter; readonly onDidChangeBusy: Event; protected nodes: Record | undefined>; constructor(); dispose(): void; get root(): TreeNode | undefined; set root(root: TreeNode | undefined); get onChanged(): Event; protected fireChanged(): void; get onNodeRefreshed(): Event; protected fireNodeRefreshed(parent: CompositeTreeNode): Promise; getNode: (id: string | undefined) => TreeNode | undefined; validateNode: (node: TreeNode | undefined) => TreeNode | undefined; refresh(raw?: CompositeTreeNode): Promise; protected resolveChildren(parent: CompositeTreeNode): Promise; protected setChildren: (parent: CompositeTreeNode, children: TreeNode[]) => Promise; protected removeNode: (node: TreeNode | undefined) => void; protected getRootNode(node: TreeNode): TreeNode; protected addNode(node: TreeNode | undefined): void; markAsBusy(raw: TreeNode, ms: number, token: CancellationToken): Promise; protected doMarkAsBusy(node: Mutable, ms: number, token: CancellationToken): Promise; protected doSetBusy(node: Mutable): void; protected doResetBusy(node: Mutable): void; } //# sourceMappingURL=tree-impl.d.ts.map