import { ContactsSelectEmits, ContactsSelectProps } from './contacts-select';
import { SetupContext } from 'vue';
import { ContactsItem } from '..';
export declare function useContactsSelect(props: ContactsSelectProps, emit: SetupContext<ContactsSelectEmits>['emit']): {
    readonly open: () => void;
    readonly close: () => void;
    readonly handleOpen: () => void;
    readonly handleCancel: () => void;
    readonly handleConfirm: () => Promise<boolean>;
    readonly handleContactsChange: () => Promise<void>;
    readonly handleDelete: (item?: ContactsItem, index?: number) => void;
    readonly handleOverageText: (values?: ContactsItem[]) => string;
    readonly methods: {
        readonly open: () => void;
        readonly close: () => void;
        readonly handleOpen: () => void;
        readonly handleCancel: () => void;
        readonly handleConfirm: () => Promise<boolean>;
        readonly handleContactsChange: () => Promise<void>;
        readonly handleDelete: (item?: ContactsItem, index?: number) => void;
        readonly handleOverageText: (values?: ContactsItem[]) => string;
    };
    readonly _open: import('vue').Ref<boolean, boolean>;
    readonly selectedValue: import('vue').WritableComputedRef<import('./constants').ContactsItem[], import('./constants').ContactsItem[]>;
    readonly modalProps: import('vue').ComputedRef<Omit<Partial<import('vue').ExtractPropTypes<{
        prefixCls: StringConstructor;
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        open: {
            type: BooleanConstructor;
            default: any;
        };
        confirmLoading: {
            type: BooleanConstructor;
            default: any;
        };
        title: import('vue-types').VueTypeValidableDef<any>;
        closable: {
            type: BooleanConstructor;
            default: any;
        };
        closeIcon: import('vue-types').VueTypeValidableDef<any>;
        onOk: import('vue').PropType<(e: MouseEvent) => void>;
        onCancel: import('vue').PropType<(e: MouseEvent) => void>;
        'onUpdate:visible': import('vue').PropType<(visible: boolean) => void>;
        'onUpdate:open': import('vue').PropType<(open: boolean) => void>;
        onChange: import('vue').PropType<(open: boolean) => void>;
        afterClose: import('vue').PropType<() => void>;
        centered: {
            type: BooleanConstructor;
            default: any;
        };
        width: (StringConstructor | NumberConstructor)[];
        footer: import('vue-types').VueTypeValidableDef<any>;
        okText: import('vue-types').VueTypeValidableDef<any>;
        okType: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').LegacyButtonType>;
        cancelText: import('vue-types').VueTypeValidableDef<any>;
        icon: import('vue-types').VueTypeValidableDef<any>;
        maskClosable: {
            type: BooleanConstructor;
            default: any;
        };
        forceRender: {
            type: BooleanConstructor;
            default: any;
        };
        okButtonProps: {
            type: import('vue').PropType<Partial<import('vue').ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>>;
            default: Partial<import('vue').ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>;
        };
        cancelButtonProps: {
            type: import('vue').PropType<Partial<import('vue').ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>>;
            default: Partial<import('vue').ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>;
        };
        destroyOnClose: {
            type: BooleanConstructor;
            default: any;
        };
        wrapClassName: StringConstructor;
        maskTransitionName: StringConstructor;
        transitionName: StringConstructor;
        getContainer: {
            type: import('vue').PropType<string | false | HTMLElement | (() => HTMLElement)>;
            default: any;
        };
        zIndex: NumberConstructor;
        bodyStyle: {
            type: import('vue').PropType<import('vue').CSSProperties>;
            default: import('vue').CSSProperties;
        };
        maskStyle: {
            type: import('vue').PropType<import('vue').CSSProperties>;
            default: import('vue').CSSProperties;
        };
        mask: {
            type: BooleanConstructor;
            default: any;
        };
        keyboard: {
            type: BooleanConstructor;
            default: any;
        };
        wrapProps: ObjectConstructor;
        focusTriggerAfterClose: {
            type: BooleanConstructor;
            default: any;
        };
        modalRender: import('vue').PropType<(arg: {
            originVNode: import('ant-design-vue/es/_util/type').VueNode;
        }) => import('ant-design-vue/es/_util/type').VueNode>;
        mousePosition: {
            type: import('vue').PropType<{
                x: number;
                y: number;
            }>;
            default: {
                x: number;
                y: number;
            };
        };
    }>>, "open" | "onCancel" | "onOk">>;
    readonly contactsProps: import('vue').ComputedRef<{
        [x: string]: any;
    }>;
    readonly selectProps: import('vue').ComputedRef<{
        maxCount: number;
        placeholder: undefined | string;
        primaryIcon: undefined | string;
        autoClear: boolean;
        multiple: boolean;
    } & {
        autoClear: import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        multiple: any;
    }>;
    readonly listType: import('vue').ComputedRef<false | ("input" | "avatar")[]>;
    readonly selectedData: import('vue').ComputedRef<{
        values: import('./constants').ContactsItem[];
        overage: ContactsItem[];
    }>;
    readonly ctx: {
        _open: import('vue').Ref<boolean, boolean>;
        selectedValue: import('vue').WritableComputedRef<import('./constants').ContactsItem[], import('./constants').ContactsItem[]>;
        modalProps: import('vue').ComputedRef<Omit<Partial<import('vue').ExtractPropTypes<{
            prefixCls: StringConstructor;
            visible: {
                type: BooleanConstructor;
                default: any;
            };
            open: {
                type: BooleanConstructor;
                default: any;
            };
            confirmLoading: {
                type: BooleanConstructor;
                default: any;
            };
            title: import('vue-types').VueTypeValidableDef<any>;
            closable: {
                type: BooleanConstructor;
                default: any;
            };
            closeIcon: import('vue-types').VueTypeValidableDef<any>;
            onOk: import('vue').PropType<(e: MouseEvent) => void>;
            onCancel: import('vue').PropType<(e: MouseEvent) => void>;
            'onUpdate:visible': import('vue').PropType<(visible: boolean) => void>;
            'onUpdate:open': import('vue').PropType<(open: boolean) => void>;
            onChange: import('vue').PropType<(open: boolean) => void>;
            afterClose: import('vue').PropType<() => void>;
            centered: {
                type: BooleanConstructor;
                default: any;
            };
            width: (StringConstructor | NumberConstructor)[];
            footer: import('vue-types').VueTypeValidableDef<any>;
            okText: import('vue-types').VueTypeValidableDef<any>;
            okType: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').LegacyButtonType>;
            cancelText: import('vue-types').VueTypeValidableDef<any>;
            icon: import('vue-types').VueTypeValidableDef<any>;
            maskClosable: {
                type: BooleanConstructor;
                default: any;
            };
            forceRender: {
                type: BooleanConstructor;
                default: any;
            };
            okButtonProps: {
                type: import('vue').PropType<Partial<import('vue').ExtractPropTypes<{
                    prefixCls: StringConstructor;
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                    htmlType: {
                        type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                        default: string;
                    };
                    shape: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                    };
                    size: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                    };
                    loading: {
                        type: import('vue').PropType<boolean | {
                            delay?: number;
                        }>;
                        default: () => boolean | {
                            delay?: number;
                        };
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    ghost: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    block: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    danger: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    icon: import('vue-types').VueTypeValidableDef<any>;
                    href: StringConstructor;
                    target: StringConstructor;
                    title: StringConstructor;
                    onClick: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                    onMousedown: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                }>>>;
                default: Partial<import('vue').ExtractPropTypes<{
                    prefixCls: StringConstructor;
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                    htmlType: {
                        type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                        default: string;
                    };
                    shape: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                    };
                    size: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                    };
                    loading: {
                        type: import('vue').PropType<boolean | {
                            delay?: number;
                        }>;
                        default: () => boolean | {
                            delay?: number;
                        };
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    ghost: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    block: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    danger: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    icon: import('vue-types').VueTypeValidableDef<any>;
                    href: StringConstructor;
                    target: StringConstructor;
                    title: StringConstructor;
                    onClick: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                    onMousedown: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                }>>;
            };
            cancelButtonProps: {
                type: import('vue').PropType<Partial<import('vue').ExtractPropTypes<{
                    prefixCls: StringConstructor;
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                    htmlType: {
                        type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                        default: string;
                    };
                    shape: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                    };
                    size: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                    };
                    loading: {
                        type: import('vue').PropType<boolean | {
                            delay?: number;
                        }>;
                        default: () => boolean | {
                            delay?: number;
                        };
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    ghost: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    block: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    danger: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    icon: import('vue-types').VueTypeValidableDef<any>;
                    href: StringConstructor;
                    target: StringConstructor;
                    title: StringConstructor;
                    onClick: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                    onMousedown: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                }>>>;
                default: Partial<import('vue').ExtractPropTypes<{
                    prefixCls: StringConstructor;
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                    htmlType: {
                        type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                        default: string;
                    };
                    shape: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                    };
                    size: {
                        type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                    };
                    loading: {
                        type: import('vue').PropType<boolean | {
                            delay?: number;
                        }>;
                        default: () => boolean | {
                            delay?: number;
                        };
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    ghost: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    block: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    danger: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    icon: import('vue-types').VueTypeValidableDef<any>;
                    href: StringConstructor;
                    target: StringConstructor;
                    title: StringConstructor;
                    onClick: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                    onMousedown: {
                        type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                    };
                }>>;
            };
            destroyOnClose: {
                type: BooleanConstructor;
                default: any;
            };
            wrapClassName: StringConstructor;
            maskTransitionName: StringConstructor;
            transitionName: StringConstructor;
            getContainer: {
                type: import('vue').PropType<string | false | HTMLElement | (() => HTMLElement)>;
                default: any;
            };
            zIndex: NumberConstructor;
            bodyStyle: {
                type: import('vue').PropType<import('vue').CSSProperties>;
                default: import('vue').CSSProperties;
            };
            maskStyle: {
                type: import('vue').PropType<import('vue').CSSProperties>;
                default: import('vue').CSSProperties;
            };
            mask: {
                type: BooleanConstructor;
                default: any;
            };
            keyboard: {
                type: BooleanConstructor;
                default: any;
            };
            wrapProps: ObjectConstructor;
            focusTriggerAfterClose: {
                type: BooleanConstructor;
                default: any;
            };
            modalRender: import('vue').PropType<(arg: {
                originVNode: import('ant-design-vue/es/_util/type').VueNode;
            }) => import('ant-design-vue/es/_util/type').VueNode>;
            mousePosition: {
                type: import('vue').PropType<{
                    x: number;
                    y: number;
                }>;
                default: {
                    x: number;
                    y: number;
                };
            };
        }>>, "open" | "onCancel" | "onOk">>;
        contactsProps: import('vue').ComputedRef<{
            [x: string]: any;
        }>;
        selectProps: import('vue').ComputedRef<{
            maxCount: number;
            placeholder: undefined | string;
            primaryIcon: undefined | string;
            autoClear: boolean;
            multiple: boolean;
        } & {
            autoClear: import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>;
            multiple: any;
        }>;
        listType: import('vue').ComputedRef<false | ("input" | "avatar")[]>;
        selectedData: import('vue').ComputedRef<{
            values: import('./constants').ContactsItem[];
            overage: ContactsItem[];
        }>;
    };
    readonly contactsRef: import('vue').Ref<{
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            [x: string]: any;
        }> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, string>;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any>;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
            handleSearch: (debounce?: boolean) => Promise<void>;
            handleLoadMore: (options?: Record<string, any> & {
                force?: boolean;
            }) => Promise<void>;
            handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                node: import('ant-design-vue/es/tree').EventDataNode;
                expanded: boolean;
                nativeEvent: MouseEvent;
            }) => void;
            handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                event: "select";
                selected: boolean;
                node: import('ant-design-vue/es/tree').EventDataNode;
                selectedNodes: import('ant-design-vue/es/tree').DataNode[];
                nativeEvent: MouseEvent;
            }) => void;
            handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleAllDelete: () => void;
            handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            handleAllSelectTrigger: (_state: any) => void;
            ref: import('vue').Ref<HTMLElement, HTMLElement>;
            selectState: import('vue').ComputedRef<{
                show: boolean;
                checked: boolean;
                indeterminate: boolean;
                dataSource: import('./constants').ContactsItem[];
            }>;
            refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            allSelectTrigger: (_state: any) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
            [x: string]: any;
        }, {}, string, {}, 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 import('vue').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<{
        [x: string]: any;
    }> & Omit<Readonly<{}> & Readonly<{}>, string> & import('vue').ShallowUnwrapRef<{
        handleSearch: (debounce?: boolean) => Promise<void>;
        handleLoadMore: (options?: Record<string, any> & {
            force?: boolean;
        }) => Promise<void>;
        handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
            node: import('ant-design-vue/es/tree').EventDataNode;
            expanded: boolean;
            nativeEvent: MouseEvent;
        }) => void;
        handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
            event: "select";
            selected: boolean;
            node: import('ant-design-vue/es/tree').EventDataNode;
            selectedNodes: import('ant-design-vue/es/tree').DataNode[];
            nativeEvent: MouseEvent;
        }) => void;
        handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
        handleAllDelete: () => void;
        handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
        handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
        handleAllSelectTrigger: (_state: any) => void;
        ref: import('vue').Ref<HTMLElement, HTMLElement>;
        selectState: import('vue').ComputedRef<{
            show: boolean;
            checked: boolean;
            indeterminate: boolean;
            dataSource: import('./constants').ContactsItem[];
        }>;
        refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
        allSelectTrigger: (_state: any) => void;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            right?(_: {}): any;
        };
    }, {
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            [x: string]: any;
        }> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, string>;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any>;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
            handleSearch: (debounce?: boolean) => Promise<void>;
            handleLoadMore: (options?: Record<string, any> & {
                force?: boolean;
            }) => Promise<void>;
            handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                node: import('ant-design-vue/es/tree').EventDataNode;
                expanded: boolean;
                nativeEvent: MouseEvent;
            }) => void;
            handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                event: "select";
                selected: boolean;
                node: import('ant-design-vue/es/tree').EventDataNode;
                selectedNodes: import('ant-design-vue/es/tree').DataNode[];
                nativeEvent: MouseEvent;
            }) => void;
            handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleAllDelete: () => void;
            handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            handleAllSelectTrigger: (_state: any) => void;
            ref: import('vue').Ref<HTMLElement, HTMLElement>;
            selectState: import('vue').ComputedRef<{
                show: boolean;
                checked: boolean;
                indeterminate: boolean;
                dataSource: import('./constants').ContactsItem[];
            }>;
            refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            allSelectTrigger: (_state: any) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
            [x: string]: any;
        }, {}, string, {}, 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 import('vue').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<{
        [x: string]: any;
    }> & Omit<Readonly<{}> & Readonly<{}>, string> & import('vue').ShallowUnwrapRef<{
        handleSearch: (debounce?: boolean) => Promise<void>;
        handleLoadMore: (options?: Record<string, any> & {
            force?: boolean;
        }) => Promise<void>;
        handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
            node: import('ant-design-vue/es/tree').EventDataNode;
            expanded: boolean;
            nativeEvent: MouseEvent;
        }) => void;
        handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
            event: "select";
            selected: boolean;
            node: import('ant-design-vue/es/tree').EventDataNode;
            selectedNodes: import('ant-design-vue/es/tree').DataNode[];
            nativeEvent: MouseEvent;
        }) => void;
        handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
        handleAllDelete: () => void;
        handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
        handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
        handleAllSelectTrigger: (_state: any) => void;
        ref: import('vue').Ref<HTMLElement, HTMLElement>;
        selectState: import('vue').ComputedRef<{
            show: boolean;
            checked: boolean;
            indeterminate: boolean;
            dataSource: import('./constants').ContactsItem[];
        }>;
        refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
        allSelectTrigger: (_state: any) => void;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            right?(_: {}): any;
        };
    }>;
    readonly refs: {
        contactsRef: import('vue').Ref<{
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: Partial<{
                [x: string]: any;
            }> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, string>;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import('vue').Slot<any>;
            }>;
            $root: import('vue').ComponentPublicInstance | null;
            $parent: import('vue').ComponentPublicInstance | null;
            $host: Element | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
                handleSearch: (debounce?: boolean) => Promise<void>;
                handleLoadMore: (options?: Record<string, any> & {
                    force?: boolean;
                }) => Promise<void>;
                handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                    node: import('ant-design-vue/es/tree').EventDataNode;
                    expanded: boolean;
                    nativeEvent: MouseEvent;
                }) => void;
                handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                    event: "select";
                    selected: boolean;
                    node: import('ant-design-vue/es/tree').EventDataNode;
                    selectedNodes: import('ant-design-vue/es/tree').DataNode[];
                    nativeEvent: MouseEvent;
                }) => void;
                handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
                handleAllDelete: () => void;
                handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
                handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
                handleAllSelectTrigger: (_state: any) => void;
                ref: import('vue').Ref<HTMLElement, HTMLElement>;
                selectState: import('vue').ComputedRef<{
                    show: boolean;
                    checked: boolean;
                    indeterminate: boolean;
                    dataSource: import('./constants').ContactsItem[];
                }>;
                refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
                allSelectTrigger: (_state: any) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
                [x: string]: any;
            }, {}, string, {}, 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 import('vue').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<{
            [x: string]: any;
        }> & Omit<Readonly<{}> & Readonly<{}>, string> & import('vue').ShallowUnwrapRef<{
            handleSearch: (debounce?: boolean) => Promise<void>;
            handleLoadMore: (options?: Record<string, any> & {
                force?: boolean;
            }) => Promise<void>;
            handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                node: import('ant-design-vue/es/tree').EventDataNode;
                expanded: boolean;
                nativeEvent: MouseEvent;
            }) => void;
            handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                event: "select";
                selected: boolean;
                node: import('ant-design-vue/es/tree').EventDataNode;
                selectedNodes: import('ant-design-vue/es/tree').DataNode[];
                nativeEvent: MouseEvent;
            }) => void;
            handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleAllDelete: () => void;
            handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            handleAllSelectTrigger: (_state: any) => void;
            ref: import('vue').Ref<HTMLElement, HTMLElement>;
            selectState: import('vue').ComputedRef<{
                show: boolean;
                checked: boolean;
                indeterminate: boolean;
                dataSource: import('./constants').ContactsItem[];
            }>;
            refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            allSelectTrigger: (_state: any) => void;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: {
                right?(_: {}): any;
            };
        }, {
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: Partial<{
                [x: string]: any;
            }> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, string>;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import('vue').Slot<any>;
            }>;
            $root: import('vue').ComponentPublicInstance | null;
            $parent: import('vue').ComponentPublicInstance | null;
            $host: Element | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
                handleSearch: (debounce?: boolean) => Promise<void>;
                handleLoadMore: (options?: Record<string, any> & {
                    force?: boolean;
                }) => Promise<void>;
                handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                    node: import('ant-design-vue/es/tree').EventDataNode;
                    expanded: boolean;
                    nativeEvent: MouseEvent;
                }) => void;
                handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                    event: "select";
                    selected: boolean;
                    node: import('ant-design-vue/es/tree').EventDataNode;
                    selectedNodes: import('ant-design-vue/es/tree').DataNode[];
                    nativeEvent: MouseEvent;
                }) => void;
                handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
                handleAllDelete: () => void;
                handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
                handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
                handleAllSelectTrigger: (_state: any) => void;
                ref: import('vue').Ref<HTMLElement, HTMLElement>;
                selectState: import('vue').ComputedRef<{
                    show: boolean;
                    checked: boolean;
                    indeterminate: boolean;
                    dataSource: import('./constants').ContactsItem[];
                }>;
                refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
                allSelectTrigger: (_state: any) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
                [x: string]: any;
            }, {}, string, {}, 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 import('vue').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<{
            [x: string]: any;
        }> & Omit<Readonly<{}> & Readonly<{}>, string> & import('vue').ShallowUnwrapRef<{
            handleSearch: (debounce?: boolean) => Promise<void>;
            handleLoadMore: (options?: Record<string, any> & {
                force?: boolean;
            }) => Promise<void>;
            handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                node: import('ant-design-vue/es/tree').EventDataNode;
                expanded: boolean;
                nativeEvent: MouseEvent;
            }) => void;
            handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
                event: "select";
                selected: boolean;
                node: import('ant-design-vue/es/tree').EventDataNode;
                selectedNodes: import('ant-design-vue/es/tree').DataNode[];
                nativeEvent: MouseEvent;
            }) => void;
            handleDelete: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleAllDelete: () => void;
            handleItemClick: <I extends import('./constants').ContactsItem>(item: I) => void;
            handleTabChange: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            handleAllSelectTrigger: (_state: any) => void;
            ref: import('vue').Ref<HTMLElement, HTMLElement>;
            selectState: import('vue').ComputedRef<{
                show: boolean;
                checked: boolean;
                indeterminate: boolean;
                dataSource: import('./constants').ContactsItem[];
            }>;
            refresh: (key?: Parameters<import('ant-design-vue').TabsProps["onChange"]>[0]) => void;
            allSelectTrigger: (_state: any) => void;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: {
                right?(_: {}): any;
            };
        }>;
    };
};
