import { nextTick } from 'vue';
import type { Props, Emits } from '../type';
export declare const useTreeSelect: (props: Props, emit: Emits, nodeKey: any, attrs: any, lazy: any, isCheckStrictly: any) => {
    innerValue: import("vue").WritableComputedRef<any, any>;
    popoverRef: import("vue").Ref<any, any>;
    dasTreeSelectRef: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
    $tree: import("vue").Ref<any, any>;
    $select: import("vue").Ref<({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            readonly modelValue: any;
            readonly options?: any;
            readonly preserveLabelWhenMissing?: boolean | undefined;
            readonly mode?: ("multiple" | "tags" | "combobox") | undefined;
            readonly fieldNames?: any;
            readonly borderType?: ("underline" | "bordered" | "none") | undefined;
            readonly placeholder?: string | undefined;
            readonly disabled?: boolean | undefined;
            readonly isView?: boolean | undefined;
            readonly error?: boolean | undefined;
            readonly errorLabel?: string | undefined;
            readonly errorMode?: ("default" | "overlay") | undefined;
            readonly optionFilterProp?: string | undefined;
            readonly width?: (string | number) | undefined;
            readonly height?: string | undefined;
            readonly size?: ("large" | "middle" | "default" | "small" | "mini" | "table") | undefined;
            readonly maxTagTextLength?: number | undefined;
            readonly dropdownClassName?: string | undefined;
            readonly isTooltip?: boolean | undefined;
            readonly showTooltipLength?: number | undefined;
            readonly open?: boolean | undefined;
            readonly showArrow?: boolean | undefined;
            readonly focusOpen?: boolean | undefined;
            readonly isRenderNode?: boolean | undefined;
            readonly getPopupContainer?: Function | undefined;
            readonly noDropdown?: boolean | undefined;
            readonly maxTagsLength?: number | undefined;
            readonly noSetDefaultVal?: boolean | undefined;
            readonly teleported?: boolean | undefined;
            readonly errorModelZIndex?: number | undefined;
            readonly isExterControlCount?: boolean | undefined;
            readonly dropdownMode?: ("multiple" | "tags" | "combobox" | "custom") | undefined;
            readonly inputAttrs?: any;
            readonly showSelectAll?: boolean | undefined;
            readonly onBlur?: ((val: any) => any) | undefined;
            readonly onChange?: ((currValue: any, options: any) => any) | undefined;
            readonly onFocus?: ((val: any) => any) | undefined;
            readonly "onUpdate:model-value"?: ((currValue: any) => any) | undefined;
            readonly onDropdownVisibleChange?: ((val: any) => any) | undefined;
            readonly onAddCustomItem?: ((val: any) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance | null;
        $parent: import("vue").ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "blur", val: any) => void) & ((event: "change", currValue: any, options: any) => void) & ((event: "focus", val: any) => void) & ((event: "update:model-value", currValue: any) => void) & ((event: "dropdownVisibleChange", val: any) => void) & ((event: "addCustomItem", val: any) => void);
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("../../../select/src/type").Props> & Readonly<{
            onBlur?: ((val: any) => any) | undefined;
            onChange?: ((currValue: any, options: any) => any) | undefined;
            onFocus?: ((val: any) => any) | undefined;
            "onUpdate:model-value"?: ((currValue: any) => any) | undefined;
            onDropdownVisibleChange?: ((val: any) => any) | undefined;
            onAddCustomItem?: ((val: any) => any) | undefined;
        }>, {
            $select: import("vue").Ref<any, any>;
            toChangeMaxCount: (isFocus: boolean) => void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
            blur: (val: any) => any;
            change: (currValue: any, options: any) => any;
            focus: (val: any) => any;
            "update:model-value": (currValue: any) => any;
            dropdownVisibleChange: (val: any) => any;
            addCustomItem: (val: any) => any;
        }, string, {
            size: "large" | "middle" | "default" | "small" | "mini" | "table";
            mode: "multiple" | "tags" | "combobox";
            error: boolean;
            disabled: boolean;
            width: string | number;
            open: boolean;
            placeholder: string;
            modelValue: any;
            isView: boolean;
            fieldNames: any;
            borderType: "underline" | "bordered" | "none";
            errorMode: "default" | "overlay";
            errorModelZIndex: number;
            noSetDefaultVal: boolean;
            showArrow: boolean;
            getPopupContainer: Function;
            teleported: boolean;
            isTooltip: boolean;
            preserveLabelWhenMissing: boolean;
            optionFilterProp: string;
            maxTagTextLength: number;
            dropdownClassName: string;
            showTooltipLength: number;
            focusOpen: boolean;
            isRenderNode: boolean;
            noDropdown: boolean;
            maxTagsLength: number;
            isExterControlCount: boolean;
            showSelectAll: boolean;
        }, {}, string, {}, {
            VNodes: (_: any, { attrs }: Omit<{
                attrs: {
                    [x: string]: unknown;
                };
                slots: Readonly<{
                    [name: string]: import("vue").Slot<any> | undefined;
                }>;
                emit: (event: string, ...args: any[]) => void;
                expose: <Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed) => void;
            }, "expose">) => unknown;
        } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
    } & Readonly<{
        size: "large" | "middle" | "default" | "small" | "mini" | "table";
        mode: "multiple" | "tags" | "combobox";
        error: boolean;
        disabled: boolean;
        width: string | number;
        open: boolean;
        placeholder: string;
        modelValue: any;
        isView: boolean;
        fieldNames: any;
        borderType: "underline" | "bordered" | "none";
        errorMode: "default" | "overlay";
        errorModelZIndex: number;
        noSetDefaultVal: boolean;
        showArrow: boolean;
        getPopupContainer: Function;
        teleported: boolean;
        isTooltip: boolean;
        preserveLabelWhenMissing: boolean;
        optionFilterProp: string;
        maxTagTextLength: number;
        dropdownClassName: string;
        showTooltipLength: number;
        focusOpen: boolean;
        isRenderNode: boolean;
        noDropdown: boolean;
        maxTagsLength: number;
        isExterControlCount: boolean;
        showSelectAll: boolean;
    }> & Omit<Readonly<import("../../../select/src/type").Props> & Readonly<{
        onBlur?: ((val: any) => any) | undefined;
        onChange?: ((currValue: any, options: any) => any) | undefined;
        onFocus?: ((val: any) => any) | undefined;
        "onUpdate:model-value"?: ((currValue: any) => any) | undefined;
        onDropdownVisibleChange?: ((val: any) => any) | undefined;
        onAddCustomItem?: ((val: any) => any) | undefined;
    }>, "$select" | "toChangeMaxCount" | ("size" | "mode" | "error" | "disabled" | "width" | "open" | "placeholder" | "modelValue" | "isView" | "fieldNames" | "borderType" | "errorMode" | "errorModelZIndex" | "noSetDefaultVal" | "showArrow" | "getPopupContainer" | "teleported" | "isTooltip" | "preserveLabelWhenMissing" | "optionFilterProp" | "maxTagTextLength" | "dropdownClassName" | "showTooltipLength" | "focusOpen" | "isRenderNode" | "noDropdown" | "maxTagsLength" | "isExterControlCount" | "showSelectAll")> & import("vue").ShallowUnwrapRef<{
        $select: import("vue").Ref<any, any>;
        toChangeMaxCount: (isFocus: boolean) => void;
    }> & {} & import("vue").ComponentCustomProperties & {} & {
        $slots: {
            default?: (props: {}) => any;
        } & {
            option?: (props: any) => any;
        } & {
            tagRender?: (props: any) => any;
        } & {
            dropdownRender?: (props: {
                menuNode: any;
            }) => any;
        } & {
            clearIcon?: (props: {}) => any;
        } & {
            maxTagPlaceholder?: (props: any) => any;
        } & {
            menuItemSelectedIcon?: (props: {}) => any;
        } & {
            notFoundContent?: (props: {}) => any;
        } & {
            placeholder?: (props: {}) => any;
        } & {
            removeIcon?: (props: {}) => any;
        } & {
            suffixIcon?: (props: {}) => any;
        };
    }) | null, ({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            readonly modelValue: any;
            readonly options?: any;
            readonly preserveLabelWhenMissing?: boolean | undefined;
            readonly mode?: ("multiple" | "tags" | "combobox") | undefined;
            readonly fieldNames?: any;
            readonly borderType?: ("underline" | "bordered" | "none") | undefined;
            readonly placeholder?: string | undefined;
            readonly disabled?: boolean | undefined;
            readonly isView?: boolean | undefined;
            readonly error?: boolean | undefined;
            readonly errorLabel?: string | undefined;
            readonly errorMode?: ("default" | "overlay") | undefined;
            readonly optionFilterProp?: string | undefined;
            readonly width?: (string | number) | undefined;
            readonly height?: string | undefined;
            readonly size?: ("large" | "middle" | "default" | "small" | "mini" | "table") | undefined;
            readonly maxTagTextLength?: number | undefined;
            readonly dropdownClassName?: string | undefined;
            readonly isTooltip?: boolean | undefined;
            readonly showTooltipLength?: number | undefined;
            readonly open?: boolean | undefined;
            readonly showArrow?: boolean | undefined;
            readonly focusOpen?: boolean | undefined;
            readonly isRenderNode?: boolean | undefined;
            readonly getPopupContainer?: Function | undefined;
            readonly noDropdown?: boolean | undefined;
            readonly maxTagsLength?: number | undefined;
            readonly noSetDefaultVal?: boolean | undefined;
            readonly teleported?: boolean | undefined;
            readonly errorModelZIndex?: number | undefined;
            readonly isExterControlCount?: boolean | undefined;
            readonly dropdownMode?: ("multiple" | "tags" | "combobox" | "custom") | undefined;
            readonly inputAttrs?: any;
            readonly showSelectAll?: boolean | undefined;
            readonly onBlur?: ((val: any) => any) | undefined;
            readonly onChange?: ((currValue: any, options: any) => any) | undefined;
            readonly onFocus?: ((val: any) => any) | undefined;
            readonly "onUpdate:model-value"?: ((currValue: any) => any) | undefined;
            readonly onDropdownVisibleChange?: ((val: any) => any) | undefined;
            readonly onAddCustomItem?: ((val: any) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance | null;
        $parent: import("vue").ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "blur", val: any) => void) & ((event: "change", currValue: any, options: any) => void) & ((event: "focus", val: any) => void) & ((event: "update:model-value", currValue: any) => void) & ((event: "dropdownVisibleChange", val: any) => void) & ((event: "addCustomItem", val: any) => void);
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("../../../select/src/type").Props> & Readonly<{
            onBlur?: ((val: any) => any) | undefined;
            onChange?: ((currValue: any, options: any) => any) | undefined;
            onFocus?: ((val: any) => any) | undefined;
            "onUpdate:model-value"?: ((currValue: any) => any) | undefined;
            onDropdownVisibleChange?: ((val: any) => any) | undefined;
            onAddCustomItem?: ((val: any) => any) | undefined;
        }>, {
            $select: import("vue").Ref<any, any>;
            toChangeMaxCount: (isFocus: boolean) => void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
            blur: (val: any) => any;
            change: (currValue: any, options: any) => any;
            focus: (val: any) => any;
            "update:model-value": (currValue: any) => any;
            dropdownVisibleChange: (val: any) => any;
            addCustomItem: (val: any) => any;
        }, string, {
            size: "large" | "middle" | "default" | "small" | "mini" | "table";
            mode: "multiple" | "tags" | "combobox";
            error: boolean;
            disabled: boolean;
            width: string | number;
            open: boolean;
            placeholder: string;
            modelValue: any;
            isView: boolean;
            fieldNames: any;
            borderType: "underline" | "bordered" | "none";
            errorMode: "default" | "overlay";
            errorModelZIndex: number;
            noSetDefaultVal: boolean;
            showArrow: boolean;
            getPopupContainer: Function;
            teleported: boolean;
            isTooltip: boolean;
            preserveLabelWhenMissing: boolean;
            optionFilterProp: string;
            maxTagTextLength: number;
            dropdownClassName: string;
            showTooltipLength: number;
            focusOpen: boolean;
            isRenderNode: boolean;
            noDropdown: boolean;
            maxTagsLength: number;
            isExterControlCount: boolean;
            showSelectAll: boolean;
        }, {}, string, {}, {
            VNodes: (_: any, { attrs }: Omit<{
                attrs: {
                    [x: string]: unknown;
                };
                slots: Readonly<{
                    [name: string]: import("vue").Slot<any> | undefined;
                }>;
                emit: (event: string, ...args: any[]) => void;
                expose: <Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed) => void;
            }, "expose">) => unknown;
        } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
    } & Readonly<{
        size: "large" | "middle" | "default" | "small" | "mini" | "table";
        mode: "multiple" | "tags" | "combobox";
        error: boolean;
        disabled: boolean;
        width: string | number;
        open: boolean;
        placeholder: string;
        modelValue: any;
        isView: boolean;
        fieldNames: any;
        borderType: "underline" | "bordered" | "none";
        errorMode: "default" | "overlay";
        errorModelZIndex: number;
        noSetDefaultVal: boolean;
        showArrow: boolean;
        getPopupContainer: Function;
        teleported: boolean;
        isTooltip: boolean;
        preserveLabelWhenMissing: boolean;
        optionFilterProp: string;
        maxTagTextLength: number;
        dropdownClassName: string;
        showTooltipLength: number;
        focusOpen: boolean;
        isRenderNode: boolean;
        noDropdown: boolean;
        maxTagsLength: number;
        isExterControlCount: boolean;
        showSelectAll: boolean;
    }> & Omit<Readonly<import("../../../select/src/type").Props> & Readonly<{
        onBlur?: ((val: any) => any) | undefined;
        onChange?: ((currValue: any, options: any) => any) | undefined;
        onFocus?: ((val: any) => any) | undefined;
        "onUpdate:model-value"?: ((currValue: any) => any) | undefined;
        onDropdownVisibleChange?: ((val: any) => any) | undefined;
        onAddCustomItem?: ((val: any) => any) | undefined;
    }>, "$select" | "toChangeMaxCount" | ("size" | "mode" | "error" | "disabled" | "width" | "open" | "placeholder" | "modelValue" | "isView" | "fieldNames" | "borderType" | "errorMode" | "errorModelZIndex" | "noSetDefaultVal" | "showArrow" | "getPopupContainer" | "teleported" | "isTooltip" | "preserveLabelWhenMissing" | "optionFilterProp" | "maxTagTextLength" | "dropdownClassName" | "showTooltipLength" | "focusOpen" | "isRenderNode" | "noDropdown" | "maxTagsLength" | "isExterControlCount" | "showSelectAll")> & import("vue").ShallowUnwrapRef<{
        $select: import("vue").Ref<any, any>;
        toChangeMaxCount: (isFocus: boolean) => void;
    }> & {} & import("vue").ComponentCustomProperties & {} & {
        $slots: {
            default?: (props: {}) => any;
        } & {
            option?: (props: any) => any;
        } & {
            tagRender?: (props: any) => any;
        } & {
            dropdownRender?: (props: {
                menuNode: any;
            }) => any;
        } & {
            clearIcon?: (props: {}) => any;
        } & {
            maxTagPlaceholder?: (props: any) => any;
        } & {
            menuItemSelectedIcon?: (props: {}) => any;
        } & {
            notFoundContent?: (props: {}) => any;
        } & {
            placeholder?: (props: {}) => any;
        } & {
            removeIcon?: (props: {}) => any;
        } & {
            suffixIcon?: (props: {}) => any;
        };
    }) | null>;
    innerKeyword: import("vue").WritableComputedRef<string, string>;
    realWidth: import("vue").Ref<string, string>;
    realPoppverWidth: import("vue").Ref<string, string>;
    poppverContentStyle: import("vue").ComputedRef<{
        height: string | undefined;
        maxHeight: string | undefined;
    }>;
    treePath: import("vue").WritableComputedRef<string | string[] | undefined, string | string[] | undefined>;
    treeProps: any;
    selectOptions: import("vue").ComputedRef<any[]>;
    currentLabel: import("vue").Ref<string, string>;
    poppverShow: () => void;
    poppverHide: () => void;
    treeChange: () => Promise<void>;
    nodeChange: () => void;
    deselect: (val: any) => Promise<void>;
    selectSearch: (val: string) => void;
    selectClear: () => Promise<void>;
    popoverVisible: import("vue").Ref<boolean, boolean>;
    selectMouseDown: import("lodash").DebouncedFunc<() => void>;
    resetDefaultVal: (val: any) => void;
    focus: (value: any) => void;
    blur: (value: any) => void;
    checkselectOptionsData: () => boolean;
    textHide: import("vue").Ref<boolean, boolean>;
    showCheckbox: import("vue").ComputedRef<boolean>;
};
