import { Destroyable, Event, ObservableArrayChangeInfo } from "vtxf-renderer/dist-node/xr-base-utils"; import { FTreeItemType } from "./FTreeItem"; export declare type FTreeClipboardType = 'copy' | 'cut' | 'paste'; export declare type FTreeCommandDataType = { type: 'copy'; event?: ClipboardEvent; } | { type: 'cut'; event?: ClipboardEvent; } | { type: 'paste'; event?: ClipboardEvent; } | { type: 'delete'; }; export interface FTreeType> { readonly root: T; readonly itemChildrenChanged: Event<[T]>; readonly itemChildrenToChange: Event<[item: T, changeInfos: ObservableArrayChangeInfo[]]>; readonly commandEvent: Event<[FTreeCommandDataType]>; } export declare class FTreeBase extends Destroyable { private _itemChildrenChanged; get itemChildrenChanged(): Event<[T]>; private _itemChildrenToChange; get itemChildrenToChange(): Event<[item: T, changeInfos: ObservableArrayChangeInfo[]]>; private _commandEvent; get commandEvent(): Event<[FTreeCommandDataType]>; constructor(); }