import { App } from 'vue';
import { ArcoOptions } from '../_utils/types';
import _Tree from './tree';
export type { TreeNodeData, TreeFieldNames } from './interface';
declare const Tree: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            default: string;
        };
        blockNode: {
            type: BooleanConstructor;
        };
        defaultExpandAll: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
        };
        checkable: {
            type: import("vue").PropType<boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean)>;
            default: boolean;
        };
        selectable: {
            type: import("vue").PropType<boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean)>;
            default: boolean;
        };
        checkStrictly: {
            type: BooleanConstructor;
        };
        checkedStrategy: {
            type: import("vue").PropType<"all" | "child" | "parent">;
            default: string;
        };
        defaultSelectedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        selectedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        defaultCheckedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        checkedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        defaultExpandedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        expandedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        data: {
            type: import("vue").PropType<import("./interface").TreeNodeData[]>;
            default: () => never[];
        };
        fieldNames: {
            type: import("vue").PropType<import("./interface").TreeFieldNames>;
        };
        showLine: {
            type: BooleanConstructor;
        };
        loadMore: {
            type: import("vue").PropType<(node: import("./interface").TreeNodeData) => Promise<void>>;
        };
        draggable: {
            type: BooleanConstructor;
        };
        allowDrop: {
            type: import("vue").PropType<(options: {
                dropNode: import("./interface").TreeNodeData;
                dropPosition: 0 | 1 | -1;
            }) => boolean>;
        };
        filterTreeNode: {
            type: import("vue").PropType<import("./interface").FilterTreeNode>;
        };
        searchValue: {
            type: StringConstructor;
            default: string;
        };
        virtualListProps: {
            type: import("vue").PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
        };
        defaultExpandSelected: {
            type: BooleanConstructor;
        };
        defaultExpandChecked: {
            type: BooleanConstructor;
        };
        autoExpandParent: {
            type: BooleanConstructor;
            default: boolean;
        };
        halfCheckedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        onlyCheckLeaf: {
            type: BooleanConstructor;
            default: boolean;
        };
        animation: {
            type: BooleanConstructor;
            default: boolean;
        };
        actionOnNodeClick: {
            type: import("vue").PropType<"expand">;
        };
        disableSelectActionOnly: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onSelect?: ((selectedKeys: (string | number)[], data: {
            selected?: boolean | undefined;
            selectedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            e?: Event | undefined;
        }) => any) | undefined;
        onDrop?: ((data: {
            e: DragEvent;
            dragNode: import("./interface").TreeNodeData;
            dropNode: import("./interface").TreeNodeData;
            dropPosition: number;
        }) => any) | undefined;
        "onUpdate:selectedKeys"?: ((selectedKeys: (string | number)[]) => any) | undefined;
        "onUpdate:expandedKeys"?: ((expandKeys: (string | number)[]) => any) | undefined;
        onExpand?: ((expandKeys: (string | number)[], data: {
            expanded?: boolean | undefined;
            expandedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            e?: Event | undefined;
        }) => any) | undefined;
        onCheck?: ((checkedKeys: (string | number)[], data: {
            checked?: boolean | undefined;
            checkedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            halfCheckedKeys: (string | number)[];
            halfCheckedNodes: import("./interface").TreeNodeData[];
            e?: Event | undefined;
        }) => any) | undefined;
        onDragStart?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        onDragOver?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        onDragLeave?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        onDragEnd?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        "onUpdate:checkedKeys"?: ((checkedKeys: (string | number)[]) => any) | undefined;
        "onUpdate:halfCheckedKeys"?: ((halfCheckedKeys: (string | number)[]) => any) | undefined;
    }>, {
        classNames: import("vue").ComputedRef<(string | {
            [x: string]: boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean);
        })[]>;
        visibleTreeNodeList: import("vue").ComputedRef<import("./interface").Node[]>;
        treeContext: {
            treeProps: {
                readonly size: "mini" | "small" | "medium" | "large";
                readonly data: {
                    key?: string | number | undefined;
                    title?: string | undefined;
                    selectable?: boolean | undefined;
                    disabled?: boolean | undefined;
                    disableCheckbox?: boolean | undefined;
                    checkable?: boolean | undefined;
                    draggable?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                    icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    children?: any[] | undefined;
                }[];
                readonly multiple: boolean;
                readonly animation: boolean;
                readonly draggable: boolean;
                readonly checkStrictly: boolean;
                readonly checkable: boolean | ((node: import("./interface").TreeNodeData, info: {
                    level: number;
                    isLeaf: boolean;
                }) => boolean);
                readonly showLine: boolean;
                readonly selectable: boolean | ((node: import("./interface").TreeNodeData, info: {
                    level: number;
                    isLeaf: boolean;
                }) => boolean);
                readonly blockNode: boolean;
                readonly defaultExpandAll: boolean;
                readonly checkedStrategy: "all" | "child" | "parent";
                readonly searchValue: string;
                readonly defaultExpandSelected: boolean;
                readonly defaultExpandChecked: boolean;
                readonly autoExpandParent: boolean;
                readonly onlyCheckLeaf: boolean;
                readonly disableSelectActionOnly: boolean;
                readonly fieldNames: {
                    key?: string | undefined;
                    title?: string | undefined;
                    disabled?: string | undefined;
                    children?: string | undefined;
                    isLeaf?: string | undefined;
                    disableCheckbox?: string | undefined;
                    checkable?: string | undefined;
                    icon?: string | undefined;
                } | undefined;
                readonly virtualListProps: {
                    height?: string | number | undefined;
                    threshold?: number | undefined;
                    isStaticItemHeight?: boolean | undefined;
                    fixedSize?: boolean | undefined;
                    estimatedSize?: number | undefined;
                    buffer?: number | undefined;
                    data?: unknown[] | undefined;
                    itemKey?: string | ((item: unknown) => import("../_components/virtual-list-v2/interface").VirtualItemKey) | undefined;
                    component?: keyof HTMLElementTagNameMap | undefined;
                } | undefined;
                readonly loadMore: ((node: import("./interface").TreeNodeData) => Promise<void>) | undefined;
                readonly selectedKeys: (string | number)[] | undefined;
                readonly defaultSelectedKeys: (string | number)[] | undefined;
                readonly expandedKeys: (string | number)[] | undefined;
                readonly defaultExpandedKeys: (string | number)[] | undefined;
                readonly checkedKeys: (string | number)[] | undefined;
                readonly filterTreeNode: import("./interface").FilterTreeNode | undefined;
                readonly allowDrop: ((options: {
                    dropNode: import("./interface").TreeNodeData;
                    dropPosition: 0 | 1 | -1;
                }) => boolean) | undefined;
                readonly defaultCheckedKeys: (string | number)[] | undefined;
                readonly halfCheckedKeys: (string | number)[] | undefined;
                readonly actionOnNodeClick: "expand" | undefined;
                readonly onSelect: ((selectedKeys: (string | number)[], data: {
                    selected?: boolean | undefined;
                    selectedNodes: import("./interface").TreeNodeData[];
                    node?: import("./interface").TreeNodeData | undefined;
                    e?: Event | undefined;
                }) => any) | undefined;
                readonly onDrop: ((data: {
                    e: DragEvent;
                    dragNode: import("./interface").TreeNodeData;
                    dropNode: import("./interface").TreeNodeData;
                    dropPosition: number;
                }) => any) | undefined;
                readonly "onUpdate:selectedKeys": ((selectedKeys: (string | number)[]) => any) | undefined;
                readonly "onUpdate:expandedKeys": ((expandKeys: (string | number)[]) => any) | undefined;
                readonly onExpand: ((expandKeys: (string | number)[], data: {
                    expanded?: boolean | undefined;
                    expandedNodes: import("./interface").TreeNodeData[];
                    node?: import("./interface").TreeNodeData | undefined;
                    e?: Event | undefined;
                }) => any) | undefined;
                readonly onCheck: ((checkedKeys: (string | number)[], data: {
                    checked?: boolean | undefined;
                    checkedNodes: import("./interface").TreeNodeData[];
                    node?: import("./interface").TreeNodeData | undefined;
                    halfCheckedKeys: (string | number)[];
                    halfCheckedNodes: import("./interface").TreeNodeData[];
                    e?: Event | undefined;
                }) => any) | undefined;
                readonly onDragStart: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly onDragOver: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly onDragLeave: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly onDragEnd: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly "onUpdate:checkedKeys": ((checkedKeys: (string | number)[]) => any) | undefined;
                readonly "onUpdate:halfCheckedKeys": ((halfCheckedKeys: (string | number)[]) => any) | undefined;
            };
            switcherIcon: import("vue").Slot<any> | undefined;
            loadingIcon: import("vue").Slot<any> | undefined;
            dragIcon: import("vue").Slot<any> | undefined;
            nodeIcon: import("vue").Slot<any> | undefined;
            nodeTitle: import("vue").Slot<any> | undefined;
            nodeExtra: import("vue").Slot<any> | undefined;
            treeData: {
                key: import("./interface").TreeNodeKey;
                treeNodeProps: {
                    selectable: boolean;
                    disabled: boolean;
                    disableCheckbox: boolean;
                    checkable: boolean;
                    draggable: boolean;
                    isLeaf: boolean;
                    isTail: boolean;
                    blockNode: boolean;
                    showLine: boolean;
                    level: number;
                    lineless: boolean[];
                    title?: string | undefined;
                    key?: string | number | undefined;
                    icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                };
                treeNodeData: {
                    key?: string | number | undefined;
                    title?: string | undefined;
                    selectable?: boolean | undefined;
                    disabled?: boolean | undefined;
                    disableCheckbox?: boolean | undefined;
                    checkable?: boolean | undefined;
                    draggable?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                    icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    children?: any[] | undefined;
                };
                parent?: any | undefined;
                parentKey?: import("./interface").TreeNodeKey | undefined;
                pathParentKeys: import("./interface").TreeNodeKey[];
                children?: any[] | undefined;
                selectable: boolean;
                disabled: boolean;
                disableCheckbox: boolean;
                checkable: boolean;
                draggable: boolean;
                isLeaf: boolean;
                isTail: boolean;
                blockNode: boolean;
                showLine: boolean;
                level: number;
                lineless: boolean[];
                title?: string | undefined;
                icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
            }[];
            flattenTreeData: import("./interface").Node[];
            key2TreeNode: import("./interface").Key2TreeNode;
            checkedKeys: import("./interface").TreeNodeKey[];
            indeterminateKeys: import("./interface").TreeNodeKey[];
            selectedKeys: import("./interface").TreeNodeKey[];
            expandedKeys: import("./interface").TreeNodeKey[];
            loadingKeys: import("./interface").TreeNodeKey[];
            currentExpandKeys: import("./interface").TreeNodeKey[];
            onLoadMore: ((key: import("./interface").TreeNodeKey) => Promise<void>) | undefined;
            filterTreeNode: import("./interface").FilterTreeNode | undefined;
            onCheck: (checked: boolean, key: import("./interface").TreeNodeKey, e?: Event | undefined) => void;
            onSelect: (key: import("./interface").TreeNodeKey, e: Event) => void;
            onExpand: (expanded: boolean, key: import("./interface").TreeNodeKey, e?: Event | undefined) => void;
            onExpandEnd: (key: import("./interface").TreeNodeKey) => void;
            allowDrop: (key: import("./interface").TreeNodeKey, dropPosition: import("./interface").DropPosition) => boolean;
            onDragStart: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDragEnd: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDragOver: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDragLeave: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDrop: (key: import("./interface").TreeNodeKey, dropPosition: number, e: DragEvent) => void;
        };
        virtualListRef: import("vue").Ref<any, any>;
        computedSelectedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        computedExpandedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        computedCheckedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        computedIndeterminateKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        getPublicCheckedKeys: (rawCheckedKeys: import("./interface").TreeNodeKey[], rawCheckedStrategy?: "all" | "child" | "parent") => import("./interface").TreeNodeKey[];
        getNodes: (keys: import("./interface").TreeNodeKey[]) => (import("./interface").TreeNodeData | undefined)[];
        internalCheckNodes: (keys: import("./interface").TreeNodeKey[], checked: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
        internalSetCheckedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
        internalSelectNodes: (keys: import("./interface").TreeNodeKey[], selected: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
        internalSetSelectedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
        internalExpandNodes: (keys: import("./interface").TreeNodeKey[], expanded: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
        internalSetExpandedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
    }, {}, {}, {
        toggleCheck(key: import("./interface").TreeNodeKey, e: Event): void;
        scrollIntoView(options: import("../_components/virtual-list-v2/interface").ScrollIntoViewOptions): void;
        getSelectedNodes(): (import("./interface").TreeNodeData | undefined)[];
        getCheckedNodes(options?: {
            checkedStrategy?: import("./interface").CheckedStrategy | undefined;
            includeHalfChecked?: boolean | undefined;
        }): (import("./interface").TreeNodeData | undefined)[];
        getHalfCheckedNodes(): (import("./interface").TreeNodeData | undefined)[];
        getExpandedNodes(): (import("./interface").TreeNodeData | undefined)[];
        checkAll(checked?: boolean): void;
        checkNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], checked?: boolean, onlyCheckLeaf?: boolean): void;
        selectAll(selected?: boolean): void;
        selectNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], selected?: boolean): void;
        expandAll(expanded?: boolean): void;
        expandNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], expanded?: boolean): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        select: (selectedKeys: (string | number)[], data: {
            selected?: boolean | undefined;
            selectedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            e?: Event | undefined;
        }) => true;
        'update:selectedKeys': (selectedKeys: (string | number)[]) => true;
        check: (checkedKeys: (string | number)[], data: {
            checked?: boolean | undefined;
            checkedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            halfCheckedKeys: (string | number)[];
            halfCheckedNodes: import("./interface").TreeNodeData[];
            e?: Event | undefined;
        }) => true;
        'update:checkedKeys': (checkedKeys: (string | number)[]) => true;
        'update:halfCheckedKeys': (halfCheckedKeys: (string | number)[]) => true;
        expand: (expandKeys: (string | number)[], data: {
            expanded?: boolean | undefined;
            expandedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            e?: Event | undefined;
        }) => true;
        'update:expandedKeys': (expandKeys: (string | number)[]) => true;
        dragStart: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
        dragEnd: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
        dragOver: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
        dragLeave: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
        drop: (data: {
            e: DragEvent;
            dragNode: import("./interface").TreeNodeData;
            dropNode: import("./interface").TreeNodeData;
            dropPosition: number;
        }) => true;
    }, import("vue").PublicProps, {
        size: "mini" | "small" | "medium" | "large";
        data: import("./interface").TreeNodeData[];
        multiple: boolean;
        animation: boolean;
        draggable: boolean;
        checkStrictly: boolean;
        checkable: boolean | ((node: import("./interface").TreeNodeData, info: {
            level: number;
            isLeaf: boolean;
        }) => boolean);
        showLine: boolean;
        selectable: boolean | ((node: import("./interface").TreeNodeData, info: {
            level: number;
            isLeaf: boolean;
        }) => boolean);
        blockNode: boolean;
        defaultExpandAll: boolean;
        checkedStrategy: "all" | "child" | "parent";
        searchValue: string;
        defaultExpandSelected: boolean;
        defaultExpandChecked: boolean;
        autoExpandParent: boolean;
        onlyCheckLeaf: boolean;
        disableSelectActionOnly: boolean;
    }, true, {}, {}, {
        VirtualList: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            height: {
                type: (StringConstructor | NumberConstructor)[];
                default: number;
            };
            data: {
                type: import("vue").PropType<Record<string, any>[]>;
                default: () => never[];
            };
            threshold: {
                type: NumberConstructor;
                default: number;
            };
            itemKey: {
                type: StringConstructor;
                default: string;
            };
            fixedSize: {
                type: BooleanConstructor;
                default: boolean;
            };
            estimatedSize: {
                type: NumberConstructor;
                default: number;
            };
            buffer: {
                type: NumberConstructor;
                default: number;
            };
            component: {
                type: (ObjectConstructor | StringConstructor)[];
                default: string;
            };
            listAttrs: {
                type: ObjectConstructor;
            };
            contentAttrs: {
                type: ObjectConstructor;
            };
            paddingPosition: {
                type: StringConstructor;
                default: string;
            };
        }>, {
            prefixCls: string;
            containerRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
            contentRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
            frontPadding: import("vue").ComputedRef<number>;
            currentList: import("vue").ComputedRef<Record<string, any>[]>;
            behindPadding: import("vue").ComputedRef<number>;
            onScroll: (ev: Event) => void;
            setItemSize: (key: string | number, size: number) => void;
            hasItemSize: (key: string | number) => boolean;
            start: import("vue").Ref<number, number>;
            scrollTo: (options: import("../_components/virtual-list-v2/interface").ScrollOptions) => void;
            style: import("vue").ComputedRef<{
                height: string;
                overflow: string;
            }>;
            mergedComponent: import("vue").ComputedRef<{
                container: string;
                list: string;
                content: string;
            }>;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            scroll: (ev: Event) => true;
            reachBottom: (ev: Event) => true;
        }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            height: {
                type: (StringConstructor | NumberConstructor)[];
                default: number;
            };
            data: {
                type: import("vue").PropType<Record<string, any>[]>;
                default: () => never[];
            };
            threshold: {
                type: NumberConstructor;
                default: number;
            };
            itemKey: {
                type: StringConstructor;
                default: string;
            };
            fixedSize: {
                type: BooleanConstructor;
                default: boolean;
            };
            estimatedSize: {
                type: NumberConstructor;
                default: number;
            };
            buffer: {
                type: NumberConstructor;
                default: number;
            };
            component: {
                type: (ObjectConstructor | StringConstructor)[];
                default: string;
            };
            listAttrs: {
                type: ObjectConstructor;
            };
            contentAttrs: {
                type: ObjectConstructor;
            };
            paddingPosition: {
                type: StringConstructor;
                default: string;
            };
        }>> & Readonly<{
            onScroll?: ((ev: Event) => any) | undefined;
            onReachBottom?: ((ev: Event) => any) | undefined;
        }>, {
            data: Record<string, any>[];
            height: string | number;
            threshold: number;
            itemKey: string;
            fixedSize: boolean;
            estimatedSize: number;
            buffer: number;
            component: string | Record<string, any>;
            paddingPosition: string;
        }, {}, {
            VirtualListItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                hasItemSize: {
                    type: FunctionConstructor;
                    required: true;
                };
                setItemSize: {
                    type: FunctionConstructor;
                    required: true;
                };
            }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                hasItemSize: {
                    type: FunctionConstructor;
                    required: true;
                };
                setItemSize: {
                    type: FunctionConstructor;
                    required: true;
                };
            }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        TreeNode: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {} | {
            [x: string]: any;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            default: string;
        };
        blockNode: {
            type: BooleanConstructor;
        };
        defaultExpandAll: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
        };
        checkable: {
            type: import("vue").PropType<boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean)>;
            default: boolean;
        };
        selectable: {
            type: import("vue").PropType<boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean)>;
            default: boolean;
        };
        checkStrictly: {
            type: BooleanConstructor;
        };
        checkedStrategy: {
            type: import("vue").PropType<"all" | "child" | "parent">;
            default: string;
        };
        defaultSelectedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        selectedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        defaultCheckedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        checkedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        defaultExpandedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        expandedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        data: {
            type: import("vue").PropType<import("./interface").TreeNodeData[]>;
            default: () => never[];
        };
        fieldNames: {
            type: import("vue").PropType<import("./interface").TreeFieldNames>;
        };
        showLine: {
            type: BooleanConstructor;
        };
        loadMore: {
            type: import("vue").PropType<(node: import("./interface").TreeNodeData) => Promise<void>>;
        };
        draggable: {
            type: BooleanConstructor;
        };
        allowDrop: {
            type: import("vue").PropType<(options: {
                dropNode: import("./interface").TreeNodeData;
                dropPosition: 0 | 1 | -1;
            }) => boolean>;
        };
        filterTreeNode: {
            type: import("vue").PropType<import("./interface").FilterTreeNode>;
        };
        searchValue: {
            type: StringConstructor;
            default: string;
        };
        virtualListProps: {
            type: import("vue").PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
        };
        defaultExpandSelected: {
            type: BooleanConstructor;
        };
        defaultExpandChecked: {
            type: BooleanConstructor;
        };
        autoExpandParent: {
            type: BooleanConstructor;
            default: boolean;
        };
        halfCheckedKeys: {
            type: import("vue").PropType<(string | number)[]>;
        };
        onlyCheckLeaf: {
            type: BooleanConstructor;
            default: boolean;
        };
        animation: {
            type: BooleanConstructor;
            default: boolean;
        };
        actionOnNodeClick: {
            type: import("vue").PropType<"expand">;
        };
        disableSelectActionOnly: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onSelect?: ((selectedKeys: (string | number)[], data: {
            selected?: boolean | undefined;
            selectedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            e?: Event | undefined;
        }) => any) | undefined;
        onDrop?: ((data: {
            e: DragEvent;
            dragNode: import("./interface").TreeNodeData;
            dropNode: import("./interface").TreeNodeData;
            dropPosition: number;
        }) => any) | undefined;
        "onUpdate:selectedKeys"?: ((selectedKeys: (string | number)[]) => any) | undefined;
        "onUpdate:expandedKeys"?: ((expandKeys: (string | number)[]) => any) | undefined;
        onExpand?: ((expandKeys: (string | number)[], data: {
            expanded?: boolean | undefined;
            expandedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            e?: Event | undefined;
        }) => any) | undefined;
        onCheck?: ((checkedKeys: (string | number)[], data: {
            checked?: boolean | undefined;
            checkedNodes: import("./interface").TreeNodeData[];
            node?: import("./interface").TreeNodeData | undefined;
            halfCheckedKeys: (string | number)[];
            halfCheckedNodes: import("./interface").TreeNodeData[];
            e?: Event | undefined;
        }) => any) | undefined;
        onDragStart?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        onDragOver?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        onDragLeave?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        onDragEnd?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
        "onUpdate:checkedKeys"?: ((checkedKeys: (string | number)[]) => any) | undefined;
        "onUpdate:halfCheckedKeys"?: ((halfCheckedKeys: (string | number)[]) => any) | undefined;
    }>, {
        classNames: import("vue").ComputedRef<(string | {
            [x: string]: boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean);
        })[]>;
        visibleTreeNodeList: import("vue").ComputedRef<import("./interface").Node[]>;
        treeContext: {
            treeProps: {
                readonly size: "mini" | "small" | "medium" | "large";
                readonly data: {
                    key?: string | number | undefined;
                    title?: string | undefined;
                    selectable?: boolean | undefined;
                    disabled?: boolean | undefined;
                    disableCheckbox?: boolean | undefined;
                    checkable?: boolean | undefined;
                    draggable?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                    icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    children?: any[] | undefined;
                }[];
                readonly multiple: boolean;
                readonly animation: boolean;
                readonly draggable: boolean;
                readonly checkStrictly: boolean;
                readonly checkable: boolean | ((node: import("./interface").TreeNodeData, info: {
                    level: number;
                    isLeaf: boolean;
                }) => boolean);
                readonly showLine: boolean;
                readonly selectable: boolean | ((node: import("./interface").TreeNodeData, info: {
                    level: number;
                    isLeaf: boolean;
                }) => boolean);
                readonly blockNode: boolean;
                readonly defaultExpandAll: boolean;
                readonly checkedStrategy: "all" | "child" | "parent";
                readonly searchValue: string;
                readonly defaultExpandSelected: boolean;
                readonly defaultExpandChecked: boolean;
                readonly autoExpandParent: boolean;
                readonly onlyCheckLeaf: boolean;
                readonly disableSelectActionOnly: boolean;
                readonly fieldNames: {
                    key?: string | undefined;
                    title?: string | undefined;
                    disabled?: string | undefined;
                    children?: string | undefined;
                    isLeaf?: string | undefined;
                    disableCheckbox?: string | undefined;
                    checkable?: string | undefined;
                    icon?: string | undefined;
                } | undefined;
                readonly virtualListProps: {
                    height?: string | number | undefined;
                    threshold?: number | undefined;
                    isStaticItemHeight?: boolean | undefined;
                    fixedSize?: boolean | undefined;
                    estimatedSize?: number | undefined;
                    buffer?: number | undefined;
                    data?: unknown[] | undefined;
                    itemKey?: string | ((item: unknown) => import("../_components/virtual-list-v2/interface").VirtualItemKey) | undefined;
                    component?: keyof HTMLElementTagNameMap | undefined;
                } | undefined;
                readonly loadMore: ((node: import("./interface").TreeNodeData) => Promise<void>) | undefined;
                readonly selectedKeys: (string | number)[] | undefined;
                readonly defaultSelectedKeys: (string | number)[] | undefined;
                readonly expandedKeys: (string | number)[] | undefined;
                readonly defaultExpandedKeys: (string | number)[] | undefined;
                readonly checkedKeys: (string | number)[] | undefined;
                readonly filterTreeNode: import("./interface").FilterTreeNode | undefined;
                readonly allowDrop: ((options: {
                    dropNode: import("./interface").TreeNodeData;
                    dropPosition: 0 | 1 | -1;
                }) => boolean) | undefined;
                readonly defaultCheckedKeys: (string | number)[] | undefined;
                readonly halfCheckedKeys: (string | number)[] | undefined;
                readonly actionOnNodeClick: "expand" | undefined;
                readonly onSelect: ((selectedKeys: (string | number)[], data: {
                    selected?: boolean | undefined;
                    selectedNodes: import("./interface").TreeNodeData[];
                    node?: import("./interface").TreeNodeData | undefined;
                    e?: Event | undefined;
                }) => any) | undefined;
                readonly onDrop: ((data: {
                    e: DragEvent;
                    dragNode: import("./interface").TreeNodeData;
                    dropNode: import("./interface").TreeNodeData;
                    dropPosition: number;
                }) => any) | undefined;
                readonly "onUpdate:selectedKeys": ((selectedKeys: (string | number)[]) => any) | undefined;
                readonly "onUpdate:expandedKeys": ((expandKeys: (string | number)[]) => any) | undefined;
                readonly onExpand: ((expandKeys: (string | number)[], data: {
                    expanded?: boolean | undefined;
                    expandedNodes: import("./interface").TreeNodeData[];
                    node?: import("./interface").TreeNodeData | undefined;
                    e?: Event | undefined;
                }) => any) | undefined;
                readonly onCheck: ((checkedKeys: (string | number)[], data: {
                    checked?: boolean | undefined;
                    checkedNodes: import("./interface").TreeNodeData[];
                    node?: import("./interface").TreeNodeData | undefined;
                    halfCheckedKeys: (string | number)[];
                    halfCheckedNodes: import("./interface").TreeNodeData[];
                    e?: Event | undefined;
                }) => any) | undefined;
                readonly onDragStart: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly onDragOver: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly onDragLeave: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly onDragEnd: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
                readonly "onUpdate:checkedKeys": ((checkedKeys: (string | number)[]) => any) | undefined;
                readonly "onUpdate:halfCheckedKeys": ((halfCheckedKeys: (string | number)[]) => any) | undefined;
            };
            switcherIcon: import("vue").Slot<any> | undefined;
            loadingIcon: import("vue").Slot<any> | undefined;
            dragIcon: import("vue").Slot<any> | undefined;
            nodeIcon: import("vue").Slot<any> | undefined;
            nodeTitle: import("vue").Slot<any> | undefined;
            nodeExtra: import("vue").Slot<any> | undefined;
            treeData: {
                key: import("./interface").TreeNodeKey;
                treeNodeProps: {
                    selectable: boolean;
                    disabled: boolean;
                    disableCheckbox: boolean;
                    checkable: boolean;
                    draggable: boolean;
                    isLeaf: boolean;
                    isTail: boolean;
                    blockNode: boolean;
                    showLine: boolean;
                    level: number;
                    lineless: boolean[];
                    title?: string | undefined;
                    key?: string | number | undefined;
                    icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                };
                treeNodeData: {
                    key?: string | number | undefined;
                    title?: string | undefined;
                    selectable?: boolean | undefined;
                    disabled?: boolean | undefined;
                    disableCheckbox?: boolean | undefined;
                    checkable?: boolean | undefined;
                    draggable?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                    icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) | undefined;
                    children?: any[] | undefined;
                };
                parent?: any | undefined;
                parentKey?: import("./interface").TreeNodeKey | undefined;
                pathParentKeys: import("./interface").TreeNodeKey[];
                children?: any[] | undefined;
                selectable: boolean;
                disabled: boolean;
                disableCheckbox: boolean;
                checkable: boolean;
                draggable: boolean;
                isLeaf: boolean;
                isTail: boolean;
                blockNode: boolean;
                showLine: boolean;
                level: number;
                lineless: boolean[];
                title?: string | undefined;
                icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
            }[];
            flattenTreeData: import("./interface").Node[];
            key2TreeNode: import("./interface").Key2TreeNode;
            checkedKeys: import("./interface").TreeNodeKey[];
            indeterminateKeys: import("./interface").TreeNodeKey[];
            selectedKeys: import("./interface").TreeNodeKey[];
            expandedKeys: import("./interface").TreeNodeKey[];
            loadingKeys: import("./interface").TreeNodeKey[];
            currentExpandKeys: import("./interface").TreeNodeKey[];
            onLoadMore: ((key: import("./interface").TreeNodeKey) => Promise<void>) | undefined;
            filterTreeNode: import("./interface").FilterTreeNode | undefined;
            onCheck: (checked: boolean, key: import("./interface").TreeNodeKey, e?: Event | undefined) => void;
            onSelect: (key: import("./interface").TreeNodeKey, e: Event) => void;
            onExpand: (expanded: boolean, key: import("./interface").TreeNodeKey, e?: Event | undefined) => void;
            onExpandEnd: (key: import("./interface").TreeNodeKey) => void;
            allowDrop: (key: import("./interface").TreeNodeKey, dropPosition: import("./interface").DropPosition) => boolean;
            onDragStart: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDragEnd: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDragOver: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDragLeave: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
            onDrop: (key: import("./interface").TreeNodeKey, dropPosition: number, e: DragEvent) => void;
        };
        virtualListRef: import("vue").Ref<any, any>;
        computedSelectedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        computedExpandedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        computedCheckedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        computedIndeterminateKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
        getPublicCheckedKeys: (rawCheckedKeys: import("./interface").TreeNodeKey[], rawCheckedStrategy?: "all" | "child" | "parent") => import("./interface").TreeNodeKey[];
        getNodes: (keys: import("./interface").TreeNodeKey[]) => (import("./interface").TreeNodeData | undefined)[];
        internalCheckNodes: (keys: import("./interface").TreeNodeKey[], checked: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
        internalSetCheckedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
        internalSelectNodes: (keys: import("./interface").TreeNodeKey[], selected: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
        internalSetSelectedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
        internalExpandNodes: (keys: import("./interface").TreeNodeKey[], expanded: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
        internalSetExpandedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
    }, {}, {}, {
        toggleCheck(key: import("./interface").TreeNodeKey, e: Event): void;
        scrollIntoView(options: import("../_components/virtual-list-v2/interface").ScrollIntoViewOptions): void;
        getSelectedNodes(): (import("./interface").TreeNodeData | undefined)[];
        getCheckedNodes(options?: {
            checkedStrategy?: import("./interface").CheckedStrategy | undefined;
            includeHalfChecked?: boolean | undefined;
        }): (import("./interface").TreeNodeData | undefined)[];
        getHalfCheckedNodes(): (import("./interface").TreeNodeData | undefined)[];
        getExpandedNodes(): (import("./interface").TreeNodeData | undefined)[];
        checkAll(checked?: boolean): void;
        checkNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], checked?: boolean, onlyCheckLeaf?: boolean): void;
        selectAll(selected?: boolean): void;
        selectNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], selected?: boolean): void;
        expandAll(expanded?: boolean): void;
        expandNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], expanded?: boolean): void;
    }, {
        size: "mini" | "small" | "medium" | "large";
        data: import("./interface").TreeNodeData[];
        multiple: boolean;
        animation: boolean;
        draggable: boolean;
        checkStrictly: boolean;
        checkable: boolean | ((node: import("./interface").TreeNodeData, info: {
            level: number;
            isLeaf: boolean;
        }) => boolean);
        showLine: boolean;
        selectable: boolean | ((node: import("./interface").TreeNodeData, info: {
            level: number;
            isLeaf: boolean;
        }) => boolean);
        blockNode: boolean;
        defaultExpandAll: boolean;
        checkedStrategy: "all" | "child" | "parent";
        searchValue: string;
        defaultExpandSelected: boolean;
        defaultExpandChecked: boolean;
        autoExpandParent: boolean;
        onlyCheckLeaf: boolean;
        disableSelectActionOnly: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    size: {
        type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        default: string;
    };
    blockNode: {
        type: BooleanConstructor;
    };
    defaultExpandAll: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
    };
    checkable: {
        type: import("vue").PropType<boolean | ((node: import("./interface").TreeNodeData, info: {
            level: number;
            isLeaf: boolean;
        }) => boolean)>;
        default: boolean;
    };
    selectable: {
        type: import("vue").PropType<boolean | ((node: import("./interface").TreeNodeData, info: {
            level: number;
            isLeaf: boolean;
        }) => boolean)>;
        default: boolean;
    };
    checkStrictly: {
        type: BooleanConstructor;
    };
    checkedStrategy: {
        type: import("vue").PropType<"all" | "child" | "parent">;
        default: string;
    };
    defaultSelectedKeys: {
        type: import("vue").PropType<(string | number)[]>;
    };
    selectedKeys: {
        type: import("vue").PropType<(string | number)[]>;
    };
    defaultCheckedKeys: {
        type: import("vue").PropType<(string | number)[]>;
    };
    checkedKeys: {
        type: import("vue").PropType<(string | number)[]>;
    };
    defaultExpandedKeys: {
        type: import("vue").PropType<(string | number)[]>;
    };
    expandedKeys: {
        type: import("vue").PropType<(string | number)[]>;
    };
    data: {
        type: import("vue").PropType<import("./interface").TreeNodeData[]>;
        default: () => never[];
    };
    fieldNames: {
        type: import("vue").PropType<import("./interface").TreeFieldNames>;
    };
    showLine: {
        type: BooleanConstructor;
    };
    loadMore: {
        type: import("vue").PropType<(node: import("./interface").TreeNodeData) => Promise<void>>;
    };
    draggable: {
        type: BooleanConstructor;
    };
    allowDrop: {
        type: import("vue").PropType<(options: {
            dropNode: import("./interface").TreeNodeData;
            dropPosition: 0 | 1 | -1;
        }) => boolean>;
    };
    filterTreeNode: {
        type: import("vue").PropType<import("./interface").FilterTreeNode>;
    };
    searchValue: {
        type: StringConstructor;
        default: string;
    };
    virtualListProps: {
        type: import("vue").PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
    };
    defaultExpandSelected: {
        type: BooleanConstructor;
    };
    defaultExpandChecked: {
        type: BooleanConstructor;
    };
    autoExpandParent: {
        type: BooleanConstructor;
        default: boolean;
    };
    halfCheckedKeys: {
        type: import("vue").PropType<(string | number)[]>;
    };
    onlyCheckLeaf: {
        type: BooleanConstructor;
        default: boolean;
    };
    animation: {
        type: BooleanConstructor;
        default: boolean;
    };
    actionOnNodeClick: {
        type: import("vue").PropType<"expand">;
    };
    disableSelectActionOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onSelect?: ((selectedKeys: (string | number)[], data: {
        selected?: boolean | undefined;
        selectedNodes: import("./interface").TreeNodeData[];
        node?: import("./interface").TreeNodeData | undefined;
        e?: Event | undefined;
    }) => any) | undefined;
    onDrop?: ((data: {
        e: DragEvent;
        dragNode: import("./interface").TreeNodeData;
        dropNode: import("./interface").TreeNodeData;
        dropPosition: number;
    }) => any) | undefined;
    "onUpdate:selectedKeys"?: ((selectedKeys: (string | number)[]) => any) | undefined;
    "onUpdate:expandedKeys"?: ((expandKeys: (string | number)[]) => any) | undefined;
    onExpand?: ((expandKeys: (string | number)[], data: {
        expanded?: boolean | undefined;
        expandedNodes: import("./interface").TreeNodeData[];
        node?: import("./interface").TreeNodeData | undefined;
        e?: Event | undefined;
    }) => any) | undefined;
    onCheck?: ((checkedKeys: (string | number)[], data: {
        checked?: boolean | undefined;
        checkedNodes: import("./interface").TreeNodeData[];
        node?: import("./interface").TreeNodeData | undefined;
        halfCheckedKeys: (string | number)[];
        halfCheckedNodes: import("./interface").TreeNodeData[];
        e?: Event | undefined;
    }) => any) | undefined;
    onDragStart?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
    onDragOver?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
    onDragLeave?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
    onDragEnd?: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
    "onUpdate:checkedKeys"?: ((checkedKeys: (string | number)[]) => any) | undefined;
    "onUpdate:halfCheckedKeys"?: ((halfCheckedKeys: (string | number)[]) => any) | undefined;
}>, {
    classNames: import("vue").ComputedRef<(string | {
        [x: string]: boolean | ((node: import("./interface").TreeNodeData, info: {
            level: number;
            isLeaf: boolean;
        }) => boolean);
    })[]>;
    visibleTreeNodeList: import("vue").ComputedRef<import("./interface").Node[]>;
    treeContext: {
        treeProps: {
            readonly size: "mini" | "small" | "medium" | "large";
            readonly data: {
                key?: string | number | undefined;
                title?: string | undefined;
                selectable?: boolean | undefined;
                disabled?: boolean | undefined;
                disableCheckbox?: boolean | undefined;
                checkable?: boolean | undefined;
                draggable?: boolean | undefined;
                isLeaf?: boolean | undefined;
                icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                children?: any[] | undefined;
            }[];
            readonly multiple: boolean;
            readonly animation: boolean;
            readonly draggable: boolean;
            readonly checkStrictly: boolean;
            readonly checkable: boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean);
            readonly showLine: boolean;
            readonly selectable: boolean | ((node: import("./interface").TreeNodeData, info: {
                level: number;
                isLeaf: boolean;
            }) => boolean);
            readonly blockNode: boolean;
            readonly defaultExpandAll: boolean;
            readonly checkedStrategy: "all" | "child" | "parent";
            readonly searchValue: string;
            readonly defaultExpandSelected: boolean;
            readonly defaultExpandChecked: boolean;
            readonly autoExpandParent: boolean;
            readonly onlyCheckLeaf: boolean;
            readonly disableSelectActionOnly: boolean;
            readonly fieldNames: {
                key?: string | undefined;
                title?: string | undefined;
                disabled?: string | undefined;
                children?: string | undefined;
                isLeaf?: string | undefined;
                disableCheckbox?: string | undefined;
                checkable?: string | undefined;
                icon?: string | undefined;
            } | undefined;
            readonly virtualListProps: {
                height?: string | number | undefined;
                threshold?: number | undefined;
                isStaticItemHeight?: boolean | undefined;
                fixedSize?: boolean | undefined;
                estimatedSize?: number | undefined;
                buffer?: number | undefined;
                data?: unknown[] | undefined;
                itemKey?: string | ((item: unknown) => import("../_components/virtual-list-v2/interface").VirtualItemKey) | undefined;
                component?: keyof HTMLElementTagNameMap | undefined;
            } | undefined;
            readonly loadMore: ((node: import("./interface").TreeNodeData) => Promise<void>) | undefined;
            readonly selectedKeys: (string | number)[] | undefined;
            readonly defaultSelectedKeys: (string | number)[] | undefined;
            readonly expandedKeys: (string | number)[] | undefined;
            readonly defaultExpandedKeys: (string | number)[] | undefined;
            readonly checkedKeys: (string | number)[] | undefined;
            readonly filterTreeNode: import("./interface").FilterTreeNode | undefined;
            readonly allowDrop: ((options: {
                dropNode: import("./interface").TreeNodeData;
                dropPosition: 0 | 1 | -1;
            }) => boolean) | undefined;
            readonly defaultCheckedKeys: (string | number)[] | undefined;
            readonly halfCheckedKeys: (string | number)[] | undefined;
            readonly actionOnNodeClick: "expand" | undefined;
            readonly onSelect: ((selectedKeys: (string | number)[], data: {
                selected?: boolean | undefined;
                selectedNodes: import("./interface").TreeNodeData[];
                node?: import("./interface").TreeNodeData | undefined;
                e?: Event | undefined;
            }) => any) | undefined;
            readonly onDrop: ((data: {
                e: DragEvent;
                dragNode: import("./interface").TreeNodeData;
                dropNode: import("./interface").TreeNodeData;
                dropPosition: number;
            }) => any) | undefined;
            readonly "onUpdate:selectedKeys": ((selectedKeys: (string | number)[]) => any) | undefined;
            readonly "onUpdate:expandedKeys": ((expandKeys: (string | number)[]) => any) | undefined;
            readonly onExpand: ((expandKeys: (string | number)[], data: {
                expanded?: boolean | undefined;
                expandedNodes: import("./interface").TreeNodeData[];
                node?: import("./interface").TreeNodeData | undefined;
                e?: Event | undefined;
            }) => any) | undefined;
            readonly onCheck: ((checkedKeys: (string | number)[], data: {
                checked?: boolean | undefined;
                checkedNodes: import("./interface").TreeNodeData[];
                node?: import("./interface").TreeNodeData | undefined;
                halfCheckedKeys: (string | number)[];
                halfCheckedNodes: import("./interface").TreeNodeData[];
                e?: Event | undefined;
            }) => any) | undefined;
            readonly onDragStart: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
            readonly onDragOver: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
            readonly onDragLeave: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
            readonly onDragEnd: ((ev: DragEvent, node: import("./interface").TreeNodeData) => any) | undefined;
            readonly "onUpdate:checkedKeys": ((checkedKeys: (string | number)[]) => any) | undefined;
            readonly "onUpdate:halfCheckedKeys": ((halfCheckedKeys: (string | number)[]) => any) | undefined;
        };
        switcherIcon: import("vue").Slot<any> | undefined;
        loadingIcon: import("vue").Slot<any> | undefined;
        dragIcon: import("vue").Slot<any> | undefined;
        nodeIcon: import("vue").Slot<any> | undefined;
        nodeTitle: import("vue").Slot<any> | undefined;
        nodeExtra: import("vue").Slot<any> | undefined;
        treeData: {
            key: import("./interface").TreeNodeKey;
            treeNodeProps: {
                selectable: boolean;
                disabled: boolean;
                disableCheckbox: boolean;
                checkable: boolean;
                draggable: boolean;
                isLeaf: boolean;
                isTail: boolean;
                blockNode: boolean;
                showLine: boolean;
                level: number;
                lineless: boolean[];
                title?: string | undefined;
                key?: string | number | undefined;
                icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
            };
            treeNodeData: {
                key?: string | number | undefined;
                title?: string | undefined;
                selectable?: boolean | undefined;
                disabled?: boolean | undefined;
                disableCheckbox?: boolean | undefined;
                checkable?: boolean | undefined;
                draggable?: boolean | undefined;
                isLeaf?: boolean | undefined;
                icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined;
                children?: any[] | undefined;
            };
            parent?: any | undefined;
            parentKey?: import("./interface").TreeNodeKey | undefined;
            pathParentKeys: import("./interface").TreeNodeKey[];
            children?: any[] | undefined;
            selectable: boolean;
            disabled: boolean;
            disableCheckbox: boolean;
            checkable: boolean;
            draggable: boolean;
            isLeaf: boolean;
            isTail: boolean;
            blockNode: boolean;
            showLine: boolean;
            level: number;
            lineless: boolean[];
            title?: string | undefined;
            icon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
            switcherIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
            loadingIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
            dragIcon?: (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
        }[];
        flattenTreeData: import("./interface").Node[];
        key2TreeNode: import("./interface").Key2TreeNode;
        checkedKeys: import("./interface").TreeNodeKey[];
        indeterminateKeys: import("./interface").TreeNodeKey[];
        selectedKeys: import("./interface").TreeNodeKey[];
        expandedKeys: import("./interface").TreeNodeKey[];
        loadingKeys: import("./interface").TreeNodeKey[];
        currentExpandKeys: import("./interface").TreeNodeKey[];
        onLoadMore: ((key: import("./interface").TreeNodeKey) => Promise<void>) | undefined;
        filterTreeNode: import("./interface").FilterTreeNode | undefined;
        onCheck: (checked: boolean, key: import("./interface").TreeNodeKey, e?: Event | undefined) => void;
        onSelect: (key: import("./interface").TreeNodeKey, e: Event) => void;
        onExpand: (expanded: boolean, key: import("./interface").TreeNodeKey, e?: Event | undefined) => void;
        onExpandEnd: (key: import("./interface").TreeNodeKey) => void;
        allowDrop: (key: import("./interface").TreeNodeKey, dropPosition: import("./interface").DropPosition) => boolean;
        onDragStart: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
        onDragEnd: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
        onDragOver: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
        onDragLeave: (key: import("./interface").TreeNodeKey, e: DragEvent) => void;
        onDrop: (key: import("./interface").TreeNodeKey, dropPosition: number, e: DragEvent) => void;
    };
    virtualListRef: import("vue").Ref<any, any>;
    computedSelectedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
    computedExpandedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
    computedCheckedKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
    computedIndeterminateKeys: import("vue").ComputedRef<import("./interface").TreeNodeKey[]>;
    getPublicCheckedKeys: (rawCheckedKeys: import("./interface").TreeNodeKey[], rawCheckedStrategy?: "all" | "child" | "parent") => import("./interface").TreeNodeKey[];
    getNodes: (keys: import("./interface").TreeNodeKey[]) => (import("./interface").TreeNodeData | undefined)[];
    internalCheckNodes: (keys: import("./interface").TreeNodeKey[], checked: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
    internalSetCheckedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
    internalSelectNodes: (keys: import("./interface").TreeNodeKey[], selected: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
    internalSetSelectedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
    internalExpandNodes: (keys: import("./interface").TreeNodeKey[], expanded: boolean, targetKey?: import("./interface").TreeNodeKey | undefined) => void;
    internalSetExpandedKeys: (keys: import("./interface").TreeNodeKey[]) => void;
}, {}, {}, {
    toggleCheck(key: import("./interface").TreeNodeKey, e: Event): void;
    scrollIntoView(options: import("../_components/virtual-list-v2/interface").ScrollIntoViewOptions): void;
    getSelectedNodes(): (import("./interface").TreeNodeData | undefined)[];
    getCheckedNodes(options?: {
        checkedStrategy?: import("./interface").CheckedStrategy | undefined;
        includeHalfChecked?: boolean | undefined;
    }): (import("./interface").TreeNodeData | undefined)[];
    getHalfCheckedNodes(): (import("./interface").TreeNodeData | undefined)[];
    getExpandedNodes(): (import("./interface").TreeNodeData | undefined)[];
    checkAll(checked?: boolean): void;
    checkNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], checked?: boolean, onlyCheckLeaf?: boolean): void;
    selectAll(selected?: boolean): void;
    selectNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], selected?: boolean): void;
    expandAll(expanded?: boolean): void;
    expandNode(key: import("./interface").TreeNodeKey | import("./interface").TreeNodeKey[], expanded?: boolean): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    select: (selectedKeys: (string | number)[], data: {
        selected?: boolean | undefined;
        selectedNodes: import("./interface").TreeNodeData[];
        node?: import("./interface").TreeNodeData | undefined;
        e?: Event | undefined;
    }) => true;
    'update:selectedKeys': (selectedKeys: (string | number)[]) => true;
    check: (checkedKeys: (string | number)[], data: {
        checked?: boolean | undefined;
        checkedNodes: import("./interface").TreeNodeData[];
        node?: import("./interface").TreeNodeData | undefined;
        halfCheckedKeys: (string | number)[];
        halfCheckedNodes: import("./interface").TreeNodeData[];
        e?: Event | undefined;
    }) => true;
    'update:checkedKeys': (checkedKeys: (string | number)[]) => true;
    'update:halfCheckedKeys': (halfCheckedKeys: (string | number)[]) => true;
    expand: (expandKeys: (string | number)[], data: {
        expanded?: boolean | undefined;
        expandedNodes: import("./interface").TreeNodeData[];
        node?: import("./interface").TreeNodeData | undefined;
        e?: Event | undefined;
    }) => true;
    'update:expandedKeys': (expandKeys: (string | number)[]) => true;
    dragStart: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
    dragEnd: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
    dragOver: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
    dragLeave: (ev: DragEvent, node: import("./interface").TreeNodeData) => true;
    drop: (data: {
        e: DragEvent;
        dragNode: import("./interface").TreeNodeData;
        dropNode: import("./interface").TreeNodeData;
        dropPosition: number;
    }) => true;
}, string, {
    size: "mini" | "small" | "medium" | "large";
    data: import("./interface").TreeNodeData[];
    multiple: boolean;
    animation: boolean;
    draggable: boolean;
    checkStrictly: boolean;
    checkable: boolean | ((node: import("./interface").TreeNodeData, info: {
        level: number;
        isLeaf: boolean;
    }) => boolean);
    showLine: boolean;
    selectable: boolean | ((node: import("./interface").TreeNodeData, info: {
        level: number;
        isLeaf: boolean;
    }) => boolean);
    blockNode: boolean;
    defaultExpandAll: boolean;
    checkedStrategy: "all" | "child" | "parent";
    searchValue: string;
    defaultExpandSelected: boolean;
    defaultExpandChecked: boolean;
    autoExpandParent: boolean;
    onlyCheckLeaf: boolean;
    disableSelectActionOnly: boolean;
}, {}, string, {}, {
    VirtualList: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        height: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        data: {
            type: import("vue").PropType<Record<string, any>[]>;
            default: () => never[];
        };
        threshold: {
            type: NumberConstructor;
            default: number;
        };
        itemKey: {
            type: StringConstructor;
            default: string;
        };
        fixedSize: {
            type: BooleanConstructor;
            default: boolean;
        };
        estimatedSize: {
            type: NumberConstructor;
            default: number;
        };
        buffer: {
            type: NumberConstructor;
            default: number;
        };
        component: {
            type: (ObjectConstructor | StringConstructor)[];
            default: string;
        };
        listAttrs: {
            type: ObjectConstructor;
        };
        contentAttrs: {
            type: ObjectConstructor;
        };
        paddingPosition: {
            type: StringConstructor;
            default: string;
        };
    }>, {
        prefixCls: string;
        containerRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        contentRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        frontPadding: import("vue").ComputedRef<number>;
        currentList: import("vue").ComputedRef<Record<string, any>[]>;
        behindPadding: import("vue").ComputedRef<number>;
        onScroll: (ev: Event) => void;
        setItemSize: (key: string | number, size: number) => void;
        hasItemSize: (key: string | number) => boolean;
        start: import("vue").Ref<number, number>;
        scrollTo: (options: import("../_components/virtual-list-v2/interface").ScrollOptions) => void;
        style: import("vue").ComputedRef<{
            height: string;
            overflow: string;
        }>;
        mergedComponent: import("vue").ComputedRef<{
            container: string;
            list: string;
            content: string;
        }>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        scroll: (ev: Event) => true;
        reachBottom: (ev: Event) => true;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        height: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        data: {
            type: import("vue").PropType<Record<string, any>[]>;
            default: () => never[];
        };
        threshold: {
            type: NumberConstructor;
            default: number;
        };
        itemKey: {
            type: StringConstructor;
            default: string;
        };
        fixedSize: {
            type: BooleanConstructor;
            default: boolean;
        };
        estimatedSize: {
            type: NumberConstructor;
            default: number;
        };
        buffer: {
            type: NumberConstructor;
            default: number;
        };
        component: {
            type: (ObjectConstructor | StringConstructor)[];
            default: string;
        };
        listAttrs: {
            type: ObjectConstructor;
        };
        contentAttrs: {
            type: ObjectConstructor;
        };
        paddingPosition: {
            type: StringConstructor;
            default: string;
        };
    }>> & Readonly<{
        onScroll?: ((ev: Event) => any) | undefined;
        onReachBottom?: ((ev: Event) => any) | undefined;
    }>, {
        data: Record<string, any>[];
        height: string | number;
        threshold: number;
        itemKey: string;
        fixedSize: boolean;
        estimatedSize: number;
        buffer: number;
        component: string | Record<string, any>;
        paddingPosition: string;
    }, {}, {
        VirtualListItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            hasItemSize: {
                type: FunctionConstructor;
                required: true;
            };
            setItemSize: {
                type: FunctionConstructor;
                required: true;
            };
        }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            hasItemSize: {
                type: FunctionConstructor;
                required: true;
            };
            setItemSize: {
                type: FunctionConstructor;
                required: true;
            };
        }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    TreeNode: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {} | {
        [x: string]: any;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
} & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type TreeInstance = InstanceType<typeof _Tree>;
export default Tree;
