import { Key, ReactNode } from 'react';
import TreeNode from './TreeNode';
import { Select, SelectProps } from '../select/Select';
import DataSet from '../data-set/DataSet';
import Record from '../data-set/Record';
import { CheckedStrategy } from '../data-set/enum';
export interface TreeSelectProps extends SelectProps {
    treeCheckable?: boolean;
    treeDefaultExpandAll?: boolean;
    treeDefaultExpandedKeys?: Key[];
    async?: boolean;
    loadData?: (node: any) => Promise<any>;
    showCheckedStrategy?: CheckedStrategy;
}
export default class TreeSelect extends Select<TreeSelectProps> {
    static displayName: string;
    static defaultProps: {
        suffixCls: string;
        dropdownMatchSelectWidth: boolean;
        showCheckedStrategy: string;
        reverse: boolean;
        combo: boolean;
        checkValueOnOptionsChange: boolean;
        onOption: ({ record }: {
            record: any;
        }) => {
            disabled: any;
        };
        selectAllButton: boolean;
        clearButton: boolean;
        popupPlacement: string;
        triggerShowDelay: number;
        triggerHiddenDelay: number;
        viewMode: import("../trigger-field/enum").TriggerViewMode;
        multiple: boolean;
        border: boolean;
        valueChangeAction: import("../text-field/enum").ValueChangeAction;
        waitType: import("../core/enum").WaitType;
        readOnly: boolean;
        disabled: boolean;
        noValidate: boolean;
        trim: import("../data-set/enum").FieldTrim;
    };
    static TreeNode: typeof TreeNode;
    expandedKeys: string[] | undefined;
    get parentField(): string;
    get idField(): string;
    get options(): DataSet;
    get treeData(): Record[];
    get selectedKeys(): Key[];
    handleSearch(text?: string | string[] | undefined): void;
    handleExpand(keys: any): void;
    get multiple(): boolean;
    handleTreeSelect(_e: any, { node }: {
        node: any;
    }): void;
    handleTreeCheck(_e: any, { node }: {
        node: any;
    }): void;
    handleTreeNode(e: any): import("../option/Option").OptionProps;
    handleLoadData(event: any): Promise<any>;
    renderSelectAll(): void;
    getMenu(menuProps?: object): ReactNode;
}
