import type { TreeNodeData, TreeNodeOptions } from '../types/tree'; import type TreeStore from './tree-store'; import type { TreeKey, FakeNode } from '../types/tree'; import type { TreeNodeLoadedDefaultProps } from '../types/node'; declare class Node { data: TreeNodeData; store: TreeStore; id: number; childNodes: Node[]; level: number; parent: Node; visible: boolean; expanded: boolean; isCurrent: boolean; canFocus: boolean; isLeaf: boolean; isLeafByUser: boolean; loaded: boolean; loading: boolean; checked: boolean; indeterminate: boolean; constructor(options: TreeNodeOptions); get key(): TreeKey; get label(): string; get disabled(): boolean; get nextSibling(): Node | null; get prevSibling(): Node | null; initialize(): void; setData(data: TreeNodeData): void; insertChild(child?: FakeNode | Node, index?: number, batch?: boolean): void; getChildren(init?: boolean): TreeNodeData | TreeNodeData[]; collapse(): void; expand(callback?: () => void, expandParent?: boolean): void; updateLeafState(): void; setChecked(value?: boolean | string, deep?: boolean, recursion?: boolean, passValue?: boolean): void; shouldLoadData(): boolean; createChildren(array: TreeNodeData[], defaultProps?: TreeNodeLoadedDefaultProps): void; loadData(callback: (node: Node) => void, defaultProps?: TreeNodeLoadedDefaultProps): void; removeChild(child: Node): void; updateChildren(): void; contains(target: Node, deep?: boolean): boolean; remove(): void; insertBefore(child: FakeNode | Node, ref: Node): void; insertAfter(child: FakeNode | Node, ref: Node): void; removeChildByData(data: TreeNodeData): void; } export default Node;