import type { MessageApi } from 'ant-design-vue/lib/message';
import type { VueNode } from 'ant-design-vue/lib/_util/type';
import type { VNode, RendererNode, RendererElement } from 'vue';
import type { ModalFuncProps } from 'ant-design-vue/lib/modal/Modal';
import type { NotificationApi, IconType } from 'ant-design-vue/lib/notification';
export declare type ModalFuncPropsEx = Omit<ModalFuncProps, 'iconType'> & {
    iconType: IconType;
};
export declare type ModalFuncPropsPartial = Partial<ModalFuncPropsEx> & Pick<ModalFuncPropsEx, 'content'>;
export declare const getIcon: (iconType: IconType) => JSX.Element;
export declare const getModalContent: (content: ModalFuncPropsEx['content']) => number | boolean | void | VNode<RendererNode, RendererElement, {
    [key: string]: any;
}> | (string | number | boolean | void | VNode<RendererNode, RendererElement, {
    [key: string]: any;
}> | null | undefined)[] | (() => VueNode) | null;
export declare const createConfirm: (opts: ModalFuncPropsEx) => {
    destroy: () => void;
    update: (newConfig: ModalFuncProps) => void;
};
export declare const createModalOptions: (opts: ModalFuncPropsPartial, iconType: IconType) => ModalFuncPropsPartial;
export declare function useMessage(): {
    createMessage: MessageApi;
    notification: NotificationApi;
    createConfirm: (opts: ModalFuncPropsEx) => {
        destroy: () => void;
        update: (newConfig: ModalFuncProps) => void;
    };
    createSuccessModal: (opts: ModalFuncPropsPartial) => {
        destroy: () => void;
        update: (newConfig: ModalFuncProps) => void;
    };
    createInfoModal: (opts: ModalFuncPropsPartial) => {
        destroy: () => void;
        update: (newConfig: ModalFuncProps) => void;
    };
    createErrorModal: (opts: ModalFuncPropsPartial) => {
        destroy: () => void;
        update: (newConfig: ModalFuncProps) => void;
    };
    createWarningModal: (opts: ModalFuncPropsPartial) => {
        destroy: () => void;
        update: (newConfig: ModalFuncProps) => void;
    };
    destroyAllModal: () => void;
};
