import { Ref, ComponentPublicInstance } from 'vue';
type MessageTarget = string | ComponentPublicInstance | HTMLElement | null | undefined;
type MaybeRef<T> = T | Ref<T>;
export declare function useMessage(target?: MaybeRef<MessageTarget>): {
    show: (params: string | Partial<{
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "info" | "loading";
        closable: boolean;
    } & {
        title?: string | undefined;
        duration?: number | undefined;
        visible?: boolean | undefined;
        beforeClose?: (() => Promise<boolean> | boolean) | undefined;
    } & {
        content: string | import('vue').VNode | import('vue').Component;
        position: import('./types').MessagePositionT;
        targetAlign?: "center" | "left" | "right";
        icon: import('vue').VNode | import('vue').Component;
        onDurationEnd: () => void;
        onClose: (ev?: MouseEvent) => void;
    }>) => () => void;
    info: (params: string | Omit<Partial<{
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "info" | "loading";
        closable: boolean;
    } & {
        title?: string | undefined;
        duration?: number | undefined;
        visible?: boolean | undefined;
        beforeClose?: (() => Promise<boolean> | boolean) | undefined;
    } & {
        content: string | import('vue').VNode | import('vue').Component;
        position: import('./types').MessagePositionT;
        targetAlign?: "center" | "left" | "right";
        icon: import('vue').VNode | import('vue').Component;
        onDurationEnd: () => void;
        onClose: (ev?: MouseEvent) => void;
    }>, "status">) => () => void;
    success: (params: string | Omit<Partial<{
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "info" | "loading";
        closable: boolean;
    } & {
        title?: string | undefined;
        duration?: number | undefined;
        visible?: boolean | undefined;
        beforeClose?: (() => Promise<boolean> | boolean) | undefined;
    } & {
        content: string | import('vue').VNode | import('vue').Component;
        position: import('./types').MessagePositionT;
        targetAlign?: "center" | "left" | "right";
        icon: import('vue').VNode | import('vue').Component;
        onDurationEnd: () => void;
        onClose: (ev?: MouseEvent) => void;
    }>, "status">) => () => void;
    warning: (params: string | Omit<Partial<{
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "info" | "loading";
        closable: boolean;
    } & {
        title?: string | undefined;
        duration?: number | undefined;
        visible?: boolean | undefined;
        beforeClose?: (() => Promise<boolean> | boolean) | undefined;
    } & {
        content: string | import('vue').VNode | import('vue').Component;
        position: import('./types').MessagePositionT;
        targetAlign?: "center" | "left" | "right";
        icon: import('vue').VNode | import('vue').Component;
        onDurationEnd: () => void;
        onClose: (ev?: MouseEvent) => void;
    }>, "status">) => () => void;
    danger: (params: string | Omit<Partial<{
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "info" | "loading";
        closable: boolean;
    } & {
        title?: string | undefined;
        duration?: number | undefined;
        visible?: boolean | undefined;
        beforeClose?: (() => Promise<boolean> | boolean) | undefined;
    } & {
        content: string | import('vue').VNode | import('vue').Component;
        position: import('./types').MessagePositionT;
        targetAlign?: "center" | "left" | "right";
        icon: import('vue').VNode | import('vue').Component;
        onDurationEnd: () => void;
        onClose: (ev?: MouseEvent) => void;
    }>, "status">) => () => void;
    loading: (params: string | Omit<Partial<{
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "info" | "loading";
        closable: boolean;
    } & {
        title?: string | undefined;
        duration?: number | undefined;
        visible?: boolean | undefined;
        beforeClose?: (() => Promise<boolean> | boolean) | undefined;
    } & {
        content: string | import('vue').VNode | import('vue').Component;
        position: import('./types').MessagePositionT;
        targetAlign?: "center" | "left" | "right";
        icon: import('vue').VNode | import('vue').Component;
        onDurationEnd: () => void;
        onClose: (ev?: MouseEvent) => void;
    }>, "status">) => () => void;
    /** 关闭本 useMessage 实例渲染的所有消息 */
    close: () => void;
    /** 关闭所有实例渲染的所有消息 */
    closeAll: () => void;
};
export {};
