import { TreeSelectProps, TreeSelectEvents, TreeNode, TreeSelectLoadDataFunc, InternalTreeNode } from './types';
import { IconProperty } from '../types';
export interface InternalTreeData {
    [key: string]: InternalTreeNode;
}
export interface TreeSelectData {
    internalTreeData: InternalTreeData;
    leftData: string[];
    leftKey: string;
    cachedExpandKey: Record<string, boolean>;
}
export interface TreeSelectInnerProps extends TreeSelectData {
    formatData: (treeData: TreeNode[], currentKey?: string) => TreeSelectData;
}
export interface CheckboxAttach {
    path: string[];
    option: InternalTreeNode;
}
declare const _default: import("vue-tsx-support")._TsxComponentV3<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>> & TreeSelectInnerProps & import("../_utils/defineComponent").OhuComponentInnerProps & {
    internalValue: any;
    internalKey: string;
    internalTreeData: InternalTreeData;
    leftData: string[];
    leftKey: string;
    cachedExpandKey: Record<string, boolean>;
} & {
    formatData(treeData: TreeNode[], currentKey?: string): {
        internalTreeData: InternalTreeData;
        leftData: string[];
        leftKey: string;
        cachedExpandKey: Record<string, boolean>;
    };
    handleChange(value: any, { path, option }: CheckboxAttach): void;
    handleLeftPanelClick(key: string): void;
    isNodeActive(node: InternalTreeNode): boolean;
    scrollToActiveNode(): void;
    cascadeNodeLoad(node: InternalTreeNode, key: string, depth: number, keyPath: (string | number)[]): void;
    cascadeLoad(keyPath: (string | number)[], depth?: number, keys?: string[]): void;
    formatNodes(key: string, nodes: TreeNode[], option: InternalTreeNode): void;
    loadDataWhenExpand(key: string, option: InternalTreeNode, successCallback?: () => void, errorCallback?: () => void): void;
    handleCollapseExpand(key: string | number): void;
    handleCollapseShrink(key: string | number): void;
    renderRightPanel(keys: string[], keyPath: string[], depth?: number): VueTsxSupport.JSX.Element;
} & {
    treeData: TreeNode[];
    value: any;
    keyPath: (string | number)[] | undefined;
    multiple: boolean;
    loadData: TreeSelectLoadDataFunc | undefined;
    leftWidth: string;
    checkedIcon: IconProperty | null | undefined;
    unCheckedIcon: IconProperty | null | undefined;
    max: number | undefined;
    scrollIntoView: boolean;
}, {}, {} & {
    value?: any;
    multiple?: boolean | undefined;
    checkedIcon?: IconProperty | null | undefined;
    unCheckedIcon?: IconProperty | null | undefined;
    max?: number | undefined;
    loadData?: TreeSelectLoadDataFunc | undefined;
    treeData?: TreeNode[] | undefined;
    keyPath?: (string | number)[] | undefined;
    leftWidth?: string | undefined;
    scrollIntoView?: boolean | undefined;
} & TreeSelectProps, TreeSelectEvents, {}, {}>;
export default _default;
