import { PropType } from 'vue';
import { TreeNodeKey } from './interface';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    nodeKey: {
        type: PropType<TreeNodeKey>;
        required: true;
    };
}>, {
    classNames: string[];
    visibleNodeList: import("vue").ComputedRef<import("./interface").Node[] | undefined>;
    show: import("vue").ComputedRef<number | false | undefined>;
    expanded: import("vue").ComputedRef<boolean | undefined>;
    onTransitionEnd(): void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    nodeKey: {
        type: PropType<TreeNodeKey>;
        required: true;
    };
}>> & Readonly<{}>, {}, {}, {
    ExpandTransition: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        expanded: BooleanConstructor;
    }>, {
        onEnter(el: HTMLDivElement): void;
        onAfterEnter(el: HTMLDivElement): void;
        onBeforeLeave(el: HTMLDivElement): void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "end"[], "end", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        expanded: BooleanConstructor;
    }>> & Readonly<{
        onEnd?: ((...args: any[]) => any) | undefined;
    }>, {
        expanded: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    BaseTreeNode: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        title: {
            type: StringConstructor;
        };
        selectable: {
            type: BooleanConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        disableCheckbox: {
            type: BooleanConstructor;
        };
        checkable: {
            type: BooleanConstructor;
        };
        draggable: {
            type: BooleanConstructor;
        };
        isLeaf: {
            type: BooleanConstructor;
        };
        icon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        switcherIcon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        loadingIcon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        dragIcon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        isTail: {
            type: BooleanConstructor;
        };
        blockNode: {
            type: BooleanConstructor;
        };
        showLine: {
            type: BooleanConstructor;
        };
        level: {
            type: NumberConstructor;
            default: number;
        };
        lineless: {
            type: PropType<boolean[]>;
            default: () => never[];
        };
    }>, {
        nodekey: import("vue").Ref<TreeNodeKey, TreeNodeKey>;
        refTitle: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        prefixCls: string;
        classNames: import("vue").ComputedRef<(string | {
            [x: string]: boolean | undefined;
        })[]>;
        titleClassNames: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        indeterminate: import("vue").ComputedRef<boolean | undefined>;
        checked: import("vue").ComputedRef<boolean | undefined>;
        expanded: import("vue").ComputedRef<boolean | undefined>;
        selected: import("vue").ComputedRef<boolean | undefined>;
        treeTitle: import("vue").ComputedRef<(() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[] | undefined) | undefined>;
        treeNodeData: import("vue").ComputedRef<import("./interface").TreeNodeData>;
        loading: import("vue").ComputedRef<boolean | undefined>;
        treeDragIcon: import("vue").ComputedRef<import("vue").Slot<any> | undefined>;
        treeNodeIcon: import("vue").ComputedRef<import("vue").Slot<any> | undefined>;
        extra: import("vue").ComputedRef<(() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[] | undefined) | undefined>;
        nodeStatus: {
            loading: boolean | undefined;
            checked: boolean | undefined;
            selected: boolean | undefined;
            indeterminate: boolean | undefined;
            expanded: boolean | undefined;
            isLeaf: boolean;
        };
        onCheckboxChange(checked: boolean, e: Event): void;
        onTitleClick(e: Event): void;
        onSwitcherClick: (e: Event) => void;
        onDragStart(e: DragEvent): void;
        onDragEnd(e: DragEvent): void;
        onDragOver(e: DragEvent): void;
        onDragLeave(e: DragEvent): void;
        onDrop(e: DragEvent): void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        title: {
            type: StringConstructor;
        };
        selectable: {
            type: BooleanConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        disableCheckbox: {
            type: BooleanConstructor;
        };
        checkable: {
            type: BooleanConstructor;
        };
        draggable: {
            type: BooleanConstructor;
        };
        isLeaf: {
            type: BooleanConstructor;
        };
        icon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        switcherIcon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        loadingIcon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        dragIcon: {
            type: PropType<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        isTail: {
            type: BooleanConstructor;
        };
        blockNode: {
            type: BooleanConstructor;
        };
        showLine: {
            type: BooleanConstructor;
        };
        level: {
            type: NumberConstructor;
            default: number;
        };
        lineless: {
            type: PropType<boolean[]>;
            default: () => never[];
        };
    }>> & Readonly<{}>, {
        disabled: boolean;
        draggable: boolean;
        checkable: boolean;
        isLeaf: boolean;
        level: number;
        showLine: boolean;
        selectable: boolean;
        disableCheckbox: boolean;
        isTail: boolean;
        blockNode: boolean;
        lineless: boolean[];
    }, {}, {
        NodeSwitcher: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            prefixCls: StringConstructor;
            loading: BooleanConstructor;
            showLine: BooleanConstructor;
            treeNodeData: {
                type: PropType<import("./interface").TreeNodeData>;
            };
            icons: {
                type: PropType<Record<string, (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined>>;
            };
            nodeStatus: {
                type: PropType<{
                    loading?: boolean | undefined;
                    checked?: boolean | undefined;
                    selected?: boolean | undefined;
                    expanded?: boolean | undefined;
                    indeterminate?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                }>;
            };
        }>, {
            getSwitcherIcon: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[] | undefined;
            getLoadingIcon: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[] | undefined;
            onClick(e: Event): void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            prefixCls: StringConstructor;
            loading: BooleanConstructor;
            showLine: BooleanConstructor;
            treeNodeData: {
                type: PropType<import("./interface").TreeNodeData>;
            };
            icons: {
                type: PropType<Record<string, (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) | undefined>>;
            };
            nodeStatus: {
                type: PropType<{
                    loading?: boolean | undefined;
                    checked?: boolean | undefined;
                    selected?: boolean | undefined;
                    expanded?: boolean | undefined;
                    indeterminate?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                }>;
            };
        }>> & Readonly<{
            onClick?: ((...args: any[]) => any) | undefined;
        }>, {
            loading: boolean;
            showLine: boolean;
        }, {}, {
            IconLoading: any;
            RenderFunction: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                renderFunc: {
                    type: PropType<import("../_components/render-function").RenderFunc>;
                    required: true;
                };
            }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                renderFunc: {
                    type: PropType<import("../_components/render-function").RenderFunc>;
                    required: true;
                };
            }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        Checkbox: {
            new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
                modelValue: {
                    type: PropType<boolean | (string | number | boolean)[]>;
                    default: undefined;
                };
                defaultChecked: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                value: {
                    type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                indeterminate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                uninjectGroupContext: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{
                onChange?: ((value: boolean | (string | number | boolean)[], ev: Event) => any) | undefined;
                "onUpdate:modelValue"?: ((value: boolean | (string | number | boolean)[]) => any) | undefined;
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
                'update:modelValue': (value: boolean | (string | number | boolean)[]) => true;
                change: (value: boolean | (string | number | boolean)[], ev: Event) => true;
            }, import("vue").PublicProps, {
                disabled: boolean;
                modelValue: boolean | (string | number | boolean)[];
                defaultChecked: boolean;
                indeterminate: boolean;
                uninjectGroupContext: boolean;
            }, true, {}, {}, {
                IconCheck: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
                IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                    prefix: {
                        type: StringConstructor;
                    };
                    size: {
                        type: PropType<"mini" | "small" | "medium" | "large">;
                        default: string;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: boolean;
                    };
                }>, {
                    prefixCls: string;
                }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                    prefix: {
                        type: StringConstructor;
                    };
                    size: {
                        type: PropType<"mini" | "small" | "medium" | "large">;
                        default: string;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: boolean;
                    };
                }>> & Readonly<{}>, {
                    size: "mini" | "small" | "medium" | "large";
                    disabled: boolean;
                }, {}, {}, {}, 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<{
                modelValue: {
                    type: PropType<boolean | (string | number | boolean)[]>;
                    default: undefined;
                };
                defaultChecked: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                value: {
                    type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                indeterminate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                uninjectGroupContext: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{
                onChange?: ((value: boolean | (string | number | boolean)[], ev: Event) => any) | undefined;
                "onUpdate:modelValue"?: ((value: boolean | (string | number | boolean)[]) => any) | undefined;
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
                disabled: boolean;
                modelValue: boolean | (string | number | boolean)[];
                defaultChecked: boolean;
                indeterminate: boolean;
                uninjectGroupContext: boolean;
            }>;
            __isFragment?: undefined;
            __isTeleport?: undefined;
            __isSuspense?: undefined;
        } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            modelValue: {
                type: PropType<boolean | (string | number | boolean)[]>;
                default: undefined;
            };
            defaultChecked: {
                type: BooleanConstructor;
                default: boolean;
            };
            value: {
                type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            indeterminate: {
                type: BooleanConstructor;
                default: boolean;
            };
            uninjectGroupContext: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            onChange?: ((value: boolean | (string | number | boolean)[], ev: Event) => any) | undefined;
            "onUpdate:modelValue"?: ((value: boolean | (string | number | boolean)[]) => any) | undefined;
        }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'update:modelValue': (value: boolean | (string | number | boolean)[]) => true;
            change: (value: boolean | (string | number | boolean)[], ev: Event) => true;
        }, string, {
            disabled: boolean;
            modelValue: boolean | (string | number | boolean)[];
            defaultChecked: boolean;
            indeterminate: boolean;
            uninjectGroupContext: boolean;
        }, {}, string, {}, {
            IconCheck: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
            IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                prefix: {
                    type: StringConstructor;
                };
                size: {
                    type: PropType<"mini" | "small" | "medium" | "large">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>, {
                prefixCls: string;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                prefix: {
                    type: StringConstructor;
                };
                size: {
                    type: PropType<"mini" | "small" | "medium" | "large">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{}>, {
                size: "mini" | "small" | "medium" | "large";
                disabled: boolean;
            }, {}, {}, {}, 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 & {
            Group: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                modelValue: {
                    type: PropType<(string | number | boolean)[]>;
                    default: undefined;
                };
                defaultValue: {
                    type: PropType<(string | number | boolean)[]>;
                    default: () => never[];
                };
                max: {
                    type: NumberConstructor;
                };
                options: {
                    type: PropType<(string | number | import("..").CheckboxOption)[]>;
                };
                direction: {
                    type: PropType<"horizontal" | "vertical">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
                'update:modelValue': (value: (string | number | boolean)[]) => true;
                change: (value: (string | number | boolean)[], ev: Event) => true;
            }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                modelValue: {
                    type: PropType<(string | number | boolean)[]>;
                    default: undefined;
                };
                defaultValue: {
                    type: PropType<(string | number | boolean)[]>;
                    default: () => never[];
                };
                max: {
                    type: NumberConstructor;
                };
                options: {
                    type: PropType<(string | number | import("..").CheckboxOption)[]>;
                };
                direction: {
                    type: PropType<"horizontal" | "vertical">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{
                onChange?: ((value: (string | number | boolean)[], ev: Event) => any) | undefined;
                "onUpdate:modelValue"?: ((value: (string | number | boolean)[]) => any) | undefined;
            }>, {
                disabled: boolean;
                defaultValue: (string | number | boolean)[];
                modelValue: (string | number | boolean)[];
                direction: "horizontal" | "vertical";
            }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
            install: (app: import("vue").App<any>, options?: import("../_utils/types").ArcoOptions | undefined) => void;
        };
        RenderFunction: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            renderFunc: {
                type: PropType<import("../_components/render-function").RenderFunc>;
                required: true;
            };
        }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            renderFunc: {
                type: PropType<import("../_components/render-function").RenderFunc>;
                required: true;
            };
        }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        IconDragDotVertical: any;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
