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