import React from 'react';
import { TreeData } from './types';
export declare type Node = {
    key?: string;
    uniqueKey: string;
    title: React.ReactNode;
    checked: boolean;
    indeterminate: boolean;
    expanded: boolean;
    disabled: boolean;
    disableCheckbox: boolean;
    parentKey: string;
    icon?: (isExpanded: boolean) => React.ReactNode;
    children?: Node[];
};
export declare class TreeInstance {
    private readonly treeNodes;
    constructor(data: TreeData[], defaultCheckedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean);
    private handleTreeNode;
    get nodes(): Node[];
    getNodeByUniqueKey(uniqueKey: string): Node | undefined;
    isIndeterminate(node: Node): boolean;
    checkChildren(children: Node[], isChecked: boolean): void;
    checkParent(node: Node): void;
    setNodeChecked(uniqueKey: string, isChecked: boolean): void;
    setNodeExpanded(uniqueKey: string, isExpanded: boolean): void;
    private isPropValueTrue;
    getCheckedKeys(): string[];
    getExpandedKeys(): string[];
}
