type Config = {
    valueKey: string;
    labelKey: string;
    childrenKey: string;
    disabledKey: string;
    leafKey: string;
    lazy: boolean;
    emitPath: boolean;
    multiple: boolean;
    allLevels: boolean;
    separator: string;
};
export declare class Store {
    config: Config;
    nodes: Array<Node>;
    flattedNodes: Array<Node>;
    leafNodes: Array<Node>;
    constructor(data: Array<any>, config: Config);
    appendNode(nodeData: any, parent?: Node): void;
    appendNodes(nodeDatas: Array<any>, parent?: Node): void;
    getFlattedNodes(leafOnly: boolean, cached?: boolean): Node[];
    getNodeByValue(value: any): Node | undefined;
}
export declare class Node {
    nodeData: Record<string, any>;
    private config;
    parent?: Node;
    level: number;
    id: number;
    value: any;
    label: any;
    loading: boolean;
    loaded: boolean;
    path: Array<any>;
    pathNodes: Array<Node>;
    pathLabels: Array<any>;
    hasChildren: boolean;
    children: Array<Node>;
    checked: boolean;
    indeterminate: boolean;
    constructor(nodeData: Record<string, any>, config: Config, parent?: Node);
    get disabled(): boolean;
    get isLeaf(): any;
    getValueByOption(): any;
    get text(): any;
    isSameNode(checkValue: Node | Array<Node>): boolean;
    syncCheckState(checkedValue: Node | Array<Node>): void;
    syncChildren(checked: boolean): void;
    syncParent(): void;
    onParentCheck(checked: boolean): void;
    onChildCheck(): void;
    doChecked(checked: boolean): void;
    setCheckState(checked: boolean): void;
    private getPathNodes;
}
export {};
