export interface Node { value: any; _unfold?: boolean; _index: number; _id: string; options?: { [key: string]: string; }; children?: Node[]; childrenCounter?: number; isBusy?: boolean; } export interface SearchableNode extends Node { children: SearchableNode[]; } export interface TreeTableNode extends SearchableNode { depth: number; isVisible: boolean; isExpanded: boolean; children: TreeTableNode[]; childrenCounter: number; isBusy?: boolean; parentId?: string; } export interface NodeInTree extends SearchableNode { pathToRoot: SearchableNode[]; }