export interface TreeNodeT {
    value: string | number;
    parent: TreeNodeT | null;
    children: Array<TreeNodeT>;
}
export interface TreeT {
    root: TreeNodeT;
    getNode(node: TreeNodeT, val: string | number): TreeNodeT | undefined;
    getPath(node: TreeNodeT, val: string | number, path: Array<TreeNodeT>): Array<TreeNodeT> | undefined;
}
export declare class VTree implements TreeT {
    root: TreeNodeT;
    constructor(value: string | number, parent: TreeNodeT | null, children?: Array<TreeNodeT>);
    getNode(node: TreeNodeT, val: string | number): TreeNodeT | undefined;
    getPath(node: TreeNodeT, val: string | number, path: Array<TreeNodeT>): Array<TreeNodeT> | undefined;
    hasSameNode(nodes: Array<TreeNodeT>, val: string | number): boolean;
    addNode(node: TreeNodeT): void;
}
