import { default as Node } from './node.js';
import { FilterValue, TreeData, TreeKey, TreeNodeData, TreeOptionProps, TreeStoreNodesMap, TreeStoreOptions } from '../tree.type.js';
export default class TreeStore {
    currentNode: Node | null;
    currentNodeKey: TreeKey | null;
    nodesMap: TreeStoreNodesMap;
    root: Node;
    data: TreeData;
    lazy: boolean;
    load?: TreeStoreOptions["load"];
    filterNodeMethod?: TreeStoreOptions["filterNodeMethod"];
    key?: string;
    defaultCheckedKeys?: TreeKey[];
    checkStrictly: boolean;
    checkDescendants: boolean;
    defaultExpandedKeys?: TreeKey[];
    autoExpandParent: boolean;
    defaultExpandAll: boolean;
    accordion: boolean;
    props: TreeOptionProps;
    constructor(options: TreeStoreOptions);
    initialize(): void;
    filter(value: FilterValue): void;
    setData(newVal: TreeData): void;
    getNode(data: TreeKey | TreeNodeData | Node): Node | null;
    insertBefore(data: TreeNodeData, refData: TreeKey | TreeNodeData | Node): void;
    insertAfter(data: TreeNodeData, refData: TreeKey | TreeNodeData | Node): void;
    remove(data: TreeNodeData | Node): void;
    append(data: TreeNodeData, parentData?: TreeNodeData | TreeKey | Node): void;
    _initDefaultCheckedNodes(): void;
    _initDefaultCheckedNode(node: Node): void;
    setDefaultCheckedKey(newVal: TreeKey[]): void;
    registerNode(node: Node): void;
    deregisterNode(node: Node): void;
    getCheckedNodes(leafOnly?: boolean, includeHalfChecked?: boolean): TreeNodeData[];
    getCheckedKeys(leafOnly?: boolean): TreeKey[];
    getHalfCheckedNodes(): TreeNodeData[];
    getHalfCheckedKeys(): TreeKey[];
    _getAllNodes(): Node[];
    updateChildren(key: TreeKey, data: TreeData): void;
    _setCheckedKeys(key: string, leafOnly: boolean | undefined, checkedKeys: Record<TreeKey, boolean>): void;
    setCheckedNodes(array: TreeNodeData[], leafOnly?: boolean): void;
    setCheckedKeys(keys: TreeKey[], leafOnly?: boolean): void;
    setDefaultExpandedKeys(keys: TreeKey[]): void;
    setChecked(data: TreeKey | TreeNodeData, checked: boolean, deep: boolean): void;
    getCurrentNode(): Node | null;
    setCurrentNode(currentNode: Node | null): void;
    setUserCurrentNode(node: Node, shouldAutoExpandParent?: boolean): void;
    setCurrentNodeKey(key: TreeKey | null, shouldAutoExpandParent?: boolean): void;
}
