import { AppContext } from 'vue';
export interface MessageOptions {
    type?: 'info' | 'success' | 'warning' | 'error' | 'loading';
    title?: string;
    message?: string;
    duration?: number;
    closable?: boolean;
    ctx?: AppContext;
    onClose?: () => void;
}
export type MessageTypeOptions = Omit<MessageOptions, 'type' | 'message'>;
export interface MessageIntance {
    id: string;
    close: () => void;
}
export type MessageFn = (message: string, options?: MessageTypeOptions) => MessageIntance;
export interface Message {
    (options: MessageOptions): MessageIntance;
    info: MessageFn;
    success: MessageFn;
    error: MessageFn;
    warning: MessageFn;
    loading: MessageFn;
    closeAll: () => void;
    _context?: AppContext | null;
}
declare const message: Message;
export default message;
