import { PropType } from 'vue';
import type { ExtractPublicPropTypes, MaybeArray } from '../../_utils';
import { DragInfo, TreeOptions, Key, TreeOption, AllowDrop } from './interface';
import { defaultAllowDrop } from './dnd';
declare const treeProps: {
    readonly data: {
        readonly type: PropType<TreeOptions>;
        readonly default: () => never[];
    };
    readonly defaultExpandAll: BooleanConstructor;
    readonly expandOnDragenter: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly cancelable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly checkable: BooleanConstructor;
    readonly draggable: BooleanConstructor;
    readonly blockNode: BooleanConstructor;
    readonly blockLine: BooleanConstructor;
    readonly disabled: BooleanConstructor;
    readonly checkedKeys: PropType<Key[]>;
    readonly defaultCheckedKeys: {
        readonly type: PropType<Key[]>;
        readonly default: () => never[];
    };
    readonly expandedKeys: PropType<Key[]>;
    readonly defaultExpandedKeys: {
        readonly type: PropType<Key[]>;
        readonly default: () => never[];
    };
    readonly selectedKeys: PropType<Key[]>;
    readonly defaultSelectedKeys: {
        readonly type: PropType<Key[]>;
        readonly default: () => never[];
    };
    readonly remote: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly multiple: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly pattern: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly filter: {
        readonly type: PropType<(pattern: string, node: TreeOption) => boolean>;
        readonly default: (pattern: string, node: TreeOption) => number | true;
    };
    readonly onLoad: PropType<(node: TreeOption) => Promise<void>>;
    readonly cascade: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly selectable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly indent: {
        readonly type: NumberConstructor;
        readonly default: 16;
    };
    readonly allowDrop: {
        readonly type: PropType<AllowDrop>;
        readonly default: typeof defaultAllowDrop;
    };
    readonly virtualScroll: BooleanConstructor;
    readonly onDragenter: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragleave: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragend: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragstart: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragover: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDrop: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly 'onUpdate:expandedKeys': PropType<MaybeArray<(value: Key[]) => void>>;
    readonly 'onUpdate:checkedKeys': PropType<MaybeArray<(value: Key[]) => void>>;
    readonly 'onUpdate:selectedKeys': PropType<MaybeArray<(value: Key[]) => void>>;
    /** @deprecated */
    readonly onExpandedKeysChange: {
        readonly type: PropType<MaybeArray<(value: Key[]) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
    /** @deprecated */
    readonly onCheckedKeysChange: {
        readonly type: PropType<MaybeArray<(value: Key[]) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
    /** @deprecated */
    readonly onSelectedKeysChange: {
        readonly type: PropType<MaybeArray<(value: Key[]) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
    readonly theme: PropType<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>>;
    readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>>>;
    readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>>>;
};
export declare type TreeProps = ExtractPublicPropTypes<typeof treeProps>;
declare const _default: import("vue").DefineComponent<{
    readonly data: {
        readonly type: PropType<TreeOptions>;
        readonly default: () => never[];
    };
    readonly defaultExpandAll: BooleanConstructor;
    readonly expandOnDragenter: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly cancelable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly checkable: BooleanConstructor;
    readonly draggable: BooleanConstructor;
    readonly blockNode: BooleanConstructor;
    readonly blockLine: BooleanConstructor;
    readonly disabled: BooleanConstructor;
    readonly checkedKeys: PropType<Key[]>;
    readonly defaultCheckedKeys: {
        readonly type: PropType<Key[]>;
        readonly default: () => never[];
    };
    readonly expandedKeys: PropType<Key[]>;
    readonly defaultExpandedKeys: {
        readonly type: PropType<Key[]>;
        readonly default: () => never[];
    };
    readonly selectedKeys: PropType<Key[]>;
    readonly defaultSelectedKeys: {
        readonly type: PropType<Key[]>;
        readonly default: () => never[];
    };
    readonly remote: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly multiple: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly pattern: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly filter: {
        readonly type: PropType<(pattern: string, node: TreeOption) => boolean>;
        readonly default: (pattern: string, node: TreeOption) => number | true;
    };
    readonly onLoad: PropType<(node: TreeOption) => Promise<void>>;
    readonly cascade: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly selectable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly indent: {
        readonly type: NumberConstructor;
        readonly default: 16;
    };
    readonly allowDrop: {
        readonly type: PropType<AllowDrop>;
        readonly default: typeof defaultAllowDrop;
    };
    readonly virtualScroll: BooleanConstructor;
    readonly onDragenter: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragleave: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragend: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragstart: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDragover: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly onDrop: PropType<MaybeArray<(e: DragInfo) => void>>;
    readonly 'onUpdate:expandedKeys': PropType<MaybeArray<(value: Key[]) => void>>;
    readonly 'onUpdate:checkedKeys': PropType<MaybeArray<(value: Key[]) => void>>;
    readonly 'onUpdate:selectedKeys': PropType<MaybeArray<(value: Key[]) => void>>;
    /** @deprecated */
    readonly onExpandedKeysChange: {
        readonly type: PropType<MaybeArray<(value: Key[]) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
    /** @deprecated */
    readonly onCheckedKeysChange: {
        readonly type: PropType<MaybeArray<(value: Key[]) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
    /** @deprecated */
    readonly onSelectedKeysChange: {
        readonly type: PropType<MaybeArray<(value: Key[]) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
    readonly theme: PropType<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>>;
    readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>>>;
    readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>>>;
}, {
    mergedClsPrefix: import("vue").ComputedRef<string>;
    mergedTheme: import("vue").ComputedRef<{
        common: {
            baseColor: string;
            primaryColor: string;
            primaryColorHover: string;
            primaryColorPressed: string;
            primaryColorSuppl: string;
            infoColor: string;
            infoColorHover: string;
            infoColorPressed: string;
            infoColorSuppl: string;
            successColor: string;
            successColorHover: string;
            successColorPressed: string;
            successColorSuppl: string;
            warningColor: string;
            warningColorHover: string;
            warningColorPressed: string;
            warningColorSuppl: string;
            errorColor: string;
            errorColorHover: string;
            errorColorPressed: string;
            errorColorSuppl: string;
            textColorBase: string;
            textColor1: string;
            textColor2: string;
            textColor3: string;
            textColorDisabled: string;
            placeholderColor: string;
            placeholderColorDisabled: string;
            iconColor: string;
            iconColorDisabled: string;
            opacity1: string;
            opacity2: string;
            opacity3: string;
            opacity4: string;
            opacity5: string;
            dividerColor: string;
            borderColor: string;
            closeColor: string;
            closeColorHover: string;
            closeColorPressed: string;
            closeColorDisabled: string;
            closeOpacity: string;
            closeOpacityHover: string;
            closeOpacityPressed: string;
            clearColor: string;
            clearColorHover: string;
            clearColorPressed: string;
            scrollbarColor: string;
            scrollbarColorHover: string;
            progressRailColor: string;
            railColor: string;
            popoverColor: string;
            tableColor: string;
            cardColor: string;
            modalColor: string;
            bodyColor: string;
            tagColor: string;
            avatarColor: string;
            invertedColor: string;
            inputColor: string;
            codeColor: string;
            tabColor: string;
            actionColor: string;
            tableHeaderColor: string;
            hoverColor: string;
            tableColorHover: string;
            pressedColor: string;
            opacityDisabled: string;
            inputColorDisabled: string;
            boxShadow1: string;
            boxShadow2: string;
            boxShadow3: string;
            fontFamily: string;
            fontFamilyMono: string;
            fontWeight: string;
            fontWeightStrong: string;
            cubicBezierEaseInOut: string;
            cubicBezierEaseOut: string;
            cubicBezierEaseIn: string;
            borderRadius: string;
            borderRadiusSmall: string;
            fontSize: string;
            fontSizeTiny: string;
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            fontSizeHuge: string;
            lineHeight: string;
            heightTiny: string;
            heightSmall: string;
            heightMedium: string;
            heightLarge: string;
            heightHuge: string;
            transformDebounceScale: string;
            name: "common";
        };
        self: {
            fontSize: string;
            nodeBorderRadius: string;
            nodeColorHover: string;
            nodeColorPressed: string;
            nodeColorActive: string;
            arrowColor: string;
            nodeTextColor: string;
            nodeTextColorDisabled: string;
            loadingColor: string;
            dropMarkColor: string;
        };
        peers: {
            Checkbox: import("../../_mixins").Theme<"Checkbox", {
                fontSizeSmall: string;
                fontSizeMedium: string;
                fontSizeLarge: string;
                borderRadius: string;
                color: string;
                colorChecked: string;
                colorDisabled: string;
                colorDisabledChecked: string;
                colorTableHeader: string;
                colorTableHeaderModal: string;
                colorTableHeaderPopover: string;
                checkMarkColor: string;
                checkMarkColorDisabled: string;
                checkMarkColorDisabledChecked: string;
                border: string;
                borderDisabled: string;
                borderDisabledChecked: string;
                borderChecked: string;
                borderFocus: string;
                boxShadowFocus: string;
                textColor: string;
                textColorDisabled: string;
                sizeSmall: string;
                sizeMedium: string;
                sizeLarge: string;
                labelPadding: string;
            }, any>;
            Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
                color: string;
                colorHover: string;
            }, any>;
        };
        peerOverrides: {
            Checkbox?: {
                peers?: {
                    [x: string]: any;
                } | undefined;
            } | undefined;
            Scrollbar?: {
                peers?: {
                    [x: string]: any;
                } | undefined;
            } | undefined;
        };
    }>;
    fNodes: import("vue").ComputedRef<({
        key: import("treemate").Key;
        rawNode: {
            key: Key;
            label: string;
            disabled?: boolean | undefined;
            isLeaf?: boolean | undefined;
            children?: any[] | undefined;
            suffix?: (() => import("vue").VNodeChild) | undefined;
        };
        level: number;
        index: number;
        isFirstChild: boolean;
        isLastChild: boolean;
        parent: {
            key: import("treemate").Key;
            rawNode: {
                key: Key;
                label: string;
                disabled?: boolean | undefined;
                isLeaf?: boolean | undefined;
                children?: any[] | undefined;
                suffix?: (() => import("vue").VNodeChild) | undefined;
            };
            level: number;
            index: number;
            isFirstChild: boolean;
            isLastChild: boolean;
            parent: any | null;
            isLeaf: boolean;
            isGroup: boolean;
            ignored: boolean;
            shallowLoaded: boolean;
            disabled: boolean;
            siblings: any[];
            children?: any[] | undefined;
            getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
        } | null;
        isLeaf: boolean;
        isGroup: boolean;
        ignored: boolean;
        shallowLoaded: boolean;
        disabled: boolean;
        siblings: {
            key: import("treemate").Key;
            rawNode: {
                key: Key;
                label: string;
                disabled?: boolean | undefined;
                isLeaf?: boolean | undefined;
                children?: any[] | undefined;
                suffix?: (() => import("vue").VNodeChild) | undefined;
            };
            level: number;
            index: number;
            isFirstChild: boolean;
            isLastChild: boolean;
            parent: any | null;
            isLeaf: boolean;
            isGroup: boolean;
            ignored: boolean;
            shallowLoaded: boolean;
            disabled: boolean;
            siblings: any[];
            children?: any[] | undefined;
            getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
        }[];
        children?: {
            key: import("treemate").Key;
            rawNode: {
                key: Key;
                label: string;
                disabled?: boolean | undefined;
                isLeaf?: boolean | undefined;
                children?: any[] | undefined;
                suffix?: (() => import("vue").VNodeChild) | undefined;
            };
            level: number;
            index: number;
            isFirstChild: boolean;
            isLastChild: boolean;
            parent: any | null;
            isLeaf: boolean;
            isGroup: boolean;
            ignored: boolean;
            shallowLoaded: boolean;
            disabled: boolean;
            siblings: any[];
            children?: any[] | undefined;
            getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
        }[] | undefined;
        getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
        getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
        getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
        getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
        contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
    } | {
        __motion: true;
        height: number | undefined;
        mode: "collapse" | "expand";
        nodes: {
            key: import("treemate").Key;
            rawNode: {
                key: Key;
                label: string;
                disabled?: boolean | undefined;
                isLeaf?: boolean | undefined;
                children?: any[] | undefined;
                suffix?: (() => import("vue").VNodeChild) | undefined;
            };
            level: number;
            index: number;
            isFirstChild: boolean;
            isLastChild: boolean;
            parent: {
                key: import("treemate").Key;
                rawNode: {
                    key: Key;
                    label: string;
                    disabled?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                    children?: any[] | undefined;
                    suffix?: (() => import("vue").VNodeChild) | undefined;
                };
                level: number;
                index: number;
                isFirstChild: boolean;
                isLastChild: boolean;
                parent: any | null;
                isLeaf: boolean;
                isGroup: boolean;
                ignored: boolean;
                shallowLoaded: boolean;
                disabled: boolean;
                siblings: any[];
                children?: any[] | undefined;
                getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
            } | null;
            isLeaf: boolean;
            isGroup: boolean;
            ignored: boolean;
            shallowLoaded: boolean;
            disabled: boolean;
            siblings: {
                key: import("treemate").Key;
                rawNode: {
                    key: Key;
                    label: string;
                    disabled?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                    children?: any[] | undefined;
                    suffix?: (() => import("vue").VNodeChild) | undefined;
                };
                level: number;
                index: number;
                isFirstChild: boolean;
                isLastChild: boolean;
                parent: any | null;
                isLeaf: boolean;
                isGroup: boolean;
                ignored: boolean;
                shallowLoaded: boolean;
                disabled: boolean;
                siblings: any[];
                children?: any[] | undefined;
                getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
            }[];
            children?: {
                key: import("treemate").Key;
                rawNode: {
                    key: Key;
                    label: string;
                    disabled?: boolean | undefined;
                    isLeaf?: boolean | undefined;
                    children?: any[] | undefined;
                    suffix?: (() => import("vue").VNodeChild) | undefined;
                };
                level: number;
                index: number;
                isFirstChild: boolean;
                isLastChild: boolean;
                parent: any | null;
                isLeaf: boolean;
                isGroup: boolean;
                ignored: boolean;
                shallowLoaded: boolean;
                disabled: boolean;
                siblings: any[];
                children?: any[] | undefined;
                getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
                contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
            }[] | undefined;
            getPrev: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getNext: (options?: import("treemate/lib/interface").GetPrevNextOptions | undefined) => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getParent: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            getChild: () => import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null;
            contains: (treeNode: import("treemate").TreeNode<TreeOption, TreeOption, TreeOption> | null | undefined) => boolean;
        }[];
    })[]>;
    aip: import("vue").Ref<boolean>;
    selfElRef: import("vue").Ref<HTMLDivElement | null>;
    virtualListInstRef: import("vue").Ref<{
        listElRef: HTMLElement;
        itemsElRef: HTMLElement | null;
        scrollTo: import("vueuc/lib/virtual-list/src/VirtualList").ScrollTo;
    } | null>;
    scrollbarInstRef: import("vue").Ref<{
        scrollTo: import("../../scrollbar/src/ScrollBar").ScrollTo;
        sync: () => void;
        containerRef: HTMLElement | null;
        contentRef: HTMLElement | null;
        containerScrollTop: number;
    } | null>;
    handleDragLeaveTree: (e: DragEvent) => void;
    handleScroll: () => void;
    getScrollContainer: () => HTMLElement | null | undefined;
    getScrollContent: () => HTMLElement | null | undefined;
    handleAfterEnter: () => void;
    handleResize: () => void;
    cssVars: import("vue").ComputedRef<{
        '--arrow-color': string;
        '--loading-color': string;
        '--bezier': string;
        '--font-size': string;
        '--node-border-radius': string;
        '--node-color-active': string;
        '--node-color-hover': string;
        '--node-color-pressed': string;
        '--node-text-color': string;
        '--node-text-color-disabled': string;
        '--drop-mark-color': string;
    }>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    pattern: string;
    filter: (pattern: string, node: TreeOption) => boolean;
    multiple: boolean;
    disabled: boolean;
    data: TreeOptions;
    virtualScroll: boolean;
    checkable: boolean;
    remote: boolean;
    cascade: boolean;
    indent: number;
    draggable: boolean;
    defaultExpandAll: boolean;
    defaultExpandedKeys: Key[];
    cancelable: boolean;
    blockLine: boolean;
    expandOnDragenter: boolean;
    blockNode: boolean;
    defaultCheckedKeys: Key[];
    defaultSelectedKeys: Key[];
    selectable: boolean;
    allowDrop: AllowDrop;
} & {
    onDragend?: MaybeArray<(e: DragInfo) => void> | undefined;
    onDragenter?: MaybeArray<(e: DragInfo) => void> | undefined;
    onDragleave?: MaybeArray<(e: DragInfo) => void> | undefined;
    onDragover?: MaybeArray<(e: DragInfo) => void> | undefined;
    onDragstart?: MaybeArray<(e: DragInfo) => void> | undefined;
    onDrop?: MaybeArray<(e: DragInfo) => void> | undefined;
    onLoad?: ((node: TreeOption) => Promise<void>) | undefined;
    theme?: import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }> | undefined;
    themeOverrides?: import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>> | undefined;
    builtinThemeOverrides?: import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Tree", {
        fontSize: string;
        nodeBorderRadius: string;
        nodeColorHover: string;
        nodeColorPressed: string;
        nodeColorActive: string;
        arrowColor: string;
        nodeTextColor: string;
        nodeTextColorDisabled: string;
        loadingColor: string;
        dropMarkColor: string;
    }, {
        Checkbox: import("../../_mixins").Theme<"Checkbox", {
            fontSizeSmall: string;
            fontSizeMedium: string;
            fontSizeLarge: string;
            borderRadius: string;
            color: string;
            colorChecked: string;
            colorDisabled: string;
            colorDisabledChecked: string;
            colorTableHeader: string;
            colorTableHeaderModal: string;
            colorTableHeaderPopover: string;
            checkMarkColor: string;
            checkMarkColorDisabled: string;
            checkMarkColorDisabledChecked: string;
            border: string;
            borderDisabled: string;
            borderDisabledChecked: string;
            borderChecked: string;
            borderFocus: string;
            boxShadowFocus: string;
            textColor: string;
            textColorDisabled: string;
            sizeSmall: string;
            sizeMedium: string;
            sizeLarge: string;
            labelPadding: string;
        }, any>;
        Scrollbar: import("../../_mixins").Theme<"Scrollbar", {
            color: string;
            colorHover: string;
        }, any>;
    }>> | undefined;
    checkedKeys?: Key[] | undefined;
    expandedKeys?: Key[] | undefined;
    "onUpdate:expandedKeys"?: MaybeArray<(value: Key[]) => void> | undefined;
    selectedKeys?: Key[] | undefined;
    "onUpdate:checkedKeys"?: MaybeArray<(value: Key[]) => void> | undefined;
    "onUpdate:selectedKeys"?: MaybeArray<(value: Key[]) => void> | undefined;
    onExpandedKeysChange?: MaybeArray<(value: Key[]) => void> | undefined;
    onCheckedKeysChange?: MaybeArray<(value: Key[]) => void> | undefined;
    onSelectedKeysChange?: MaybeArray<(value: Key[]) => void> | undefined;
}>, {
    pattern: string;
    filter: (pattern: string, node: TreeOption) => boolean;
    multiple: boolean;
    disabled: boolean;
    data: TreeOptions;
    virtualScroll: boolean;
    checkable: boolean;
    remote: boolean;
    cascade: boolean;
    indent: number;
    draggable: boolean;
    defaultExpandAll: boolean;
    defaultExpandedKeys: Key[];
    cancelable: boolean;
    blockLine: boolean;
    expandOnDragenter: boolean;
    blockNode: boolean;
    defaultCheckedKeys: Key[];
    defaultSelectedKeys: Key[];
    selectable: boolean;
    allowDrop: AllowDrop;
    onExpandedKeysChange: MaybeArray<(value: Key[]) => void> | undefined;
    onCheckedKeysChange: MaybeArray<(value: Key[]) => void> | undefined;
    onSelectedKeysChange: MaybeArray<(value: Key[]) => void> | undefined;
}>;
export default _default;
