import { YzAvatar } from '../../avatar';
declare function __VLS_template(): {
    slots: {
        title?(_: {}): any;
        default?(_: {
            selectedValue: import('./constants').ContactsItem[];
        }): any;
    };
    refs: {
        contactsRef: {
            $: 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;
            };
        };
    };
    attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    modalProps: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<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">>, unknown, unknown, () => {}, boolean>;
    modalTitle: import('@yanzhen-libs/utils-vue').EpPropFinalized<StringConstructor, unknown, unknown, "通讯录", boolean>;
    modalOpen: {
        type: BooleanConstructor;
    };
    immediate: import('@yanzhen-libs/utils-vue').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    listType: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<boolean | "input" | "avatar">, unknown, unknown, () => "avatar", boolean>;
    autoClear: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    selectProps: {
        type: import('vue').PropType<Partial<{
            maxCount: number;
            placeholder: undefined | string;
            primaryIcon: undefined | string;
            autoClear: boolean;
            multiple: boolean;
        }>>;
    };
    beforeConfirm: {
        type: import('vue').PropType<import('./contacts-select').ContactsSelectConfirmFn>;
    };
    onChange: any;
    onBlur: {
        type: import('vue').PropType<() => void | boolean | Promise<void | boolean>>;
    };
    onConfirm: {
        type: import('vue').PropType<import('./contacts-select').ContactsSelectConfirmFn>;
    };
    onCancel: {
        type: import('vue').PropType<() => void | boolean | Promise<void | boolean>>;
    };
}>, {
    open: () => void;
    close: () => void;
    handleOpen: () => void;
    handleCancel: () => void;
    handleConfirm: () => Promise<boolean>;
    handleContactsChange: () => Promise<void>;
    handleDelete: (item?: YzAvatar, index?: number) => void;
    handleOverageText: (values?: YzAvatar[]) => string;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    change: (...args: unknown[]) => void;
    blur: () => void;
    confirm: (list?: import('./constants').ContactsItem | import('./constants').ContactsItem[], record?: Record<string, import('./hook/use-contacts-model-value').ContactsModelValue>) => void;
    cancel: () => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    modalProps: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<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">>, unknown, unknown, () => {}, boolean>;
    modalTitle: import('@yanzhen-libs/utils-vue').EpPropFinalized<StringConstructor, unknown, unknown, "通讯录", boolean>;
    modalOpen: {
        type: BooleanConstructor;
    };
    immediate: import('@yanzhen-libs/utils-vue').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    listType: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<boolean | "input" | "avatar">, unknown, unknown, () => "avatar", boolean>;
    autoClear: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    selectProps: {
        type: import('vue').PropType<Partial<{
            maxCount: number;
            placeholder: undefined | string;
            primaryIcon: undefined | string;
            autoClear: boolean;
            multiple: boolean;
        }>>;
    };
    beforeConfirm: {
        type: import('vue').PropType<import('./contacts-select').ContactsSelectConfirmFn>;
    };
    onChange: any;
    onBlur: {
        type: import('vue').PropType<() => void | boolean | Promise<void | boolean>>;
    };
    onConfirm: {
        type: import('vue').PropType<import('./contacts-select').ContactsSelectConfirmFn>;
    };
    onCancel: {
        type: import('vue').PropType<() => void | boolean | Promise<void | boolean>>;
    };
}>> & Readonly<{
    onChange?: (...args: unknown[]) => any;
    onBlur?: () => any;
    onConfirm?: (list?: import('./constants').ContactsItem | import('./constants').ContactsItem[], record?: Record<string, import('./hook/use-contacts-model-value').ContactsModelValue>) => any;
    onCancel?: () => any;
}>, {
    immediate: import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>;
    onChange: any;
    listType: import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<boolean | "input" | "avatar">, unknown, unknown>;
    modalProps: 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">;
    modalTitle: string;
    modalOpen: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
