import { Ref, ComponentPublicInstance } from 'vue'; type MessageTarget = string | ComponentPublicInstance | HTMLElement | null | undefined; type MaybeRef = T | Ref; export declare function useMessage(target?: MaybeRef): { 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) | 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 Promise | 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 Promise | 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 Promise | 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 Promise | 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 Promise | 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 {};