/** * Data structure for TreeNode constructor parameter */ export interface TreeNodeData { name: string; isLeaf?: boolean; id?: number | string; dragDisabled?: boolean; addTreeNodeDisabled?: boolean; addLeafNodeDisabled?: boolean; editNodeDisabled?: boolean; delNodeDisabled?: boolean; disabled?: boolean; children?: TreeNodeData[]; [key: string]: unknown; } /** * Tree node class */ export declare class TreeNode { id: number | string; parent: TreeNode | null; children: TreeNode[] | null; isLeaf: boolean; name: string; pid: number | string | undefined; dragDisabled?: boolean; addTreeNodeDisabled?: boolean; addLeafNodeDisabled?: boolean; editNodeDisabled?: boolean; delNodeDisabled?: boolean; disabled?: boolean; [key: string]: unknown; constructor(data: TreeNodeData); changeName(name: string): void; addChildren(children: TreeNode | TreeNode[]): void; remove(): void; _removeChild(child: TreeNode): void; isTargetChild(target: TreeNode): boolean; moveInto(target: TreeNode): void; findChildIndex(child: TreeNode): number | undefined; _canInsert(target: TreeNode): boolean; insertBefore(target: TreeNode): void; insertAfter(target: TreeNode): void; toString(): string; } export declare class Tree { root: TreeNode; constructor(data: TreeNodeData[]); initNode(node: TreeNode, data: TreeNodeData[]): void; }