import type { VNodeChild, CSSProperties, PropType } from 'vue'; export declare type MessageCloseImpl = () => void | Promise; export declare type MessageType = 'text' | 'success' | 'warning' | 'info' | 'error' | 'loading'; export interface MessageOptions { type: MessageType; message?: string | (() => VNodeChild); className?: string; style?: string | CSSProperties; duration?: number; closable?: boolean; hoverAlive?: boolean; html?: string; card?: boolean; itemGap?: number; icon?: () => VNodeChild; action?: () => VNodeChild; onClose?: MessageCloseImpl; } export declare type MessageApiOptions = Partial>; export declare type Message = { readonly key: string; type: MessageType; options: MessageApiOptions; }; export declare type ConfigurableMessage = Required & Readonly; export declare type MessageApiReturnType = S extends true ? Promise : ConfigurableMessage; export declare type CreateMessageApiReturnType = { (options: MessageApiOptions): MessageApiReturnType; (content: string): MessageApiReturnType; (content: string, options: MessageApiOptions): MessageApiReturnType; }; export declare type MessageApi = { (options: MessageOptions): MessageApiReturnType; text: CreateMessageApiReturnType; success: CreateMessageApiReturnType; warning: CreateMessageApiReturnType; info: CreateMessageApiReturnType; error: CreateMessageApiReturnType; loading: CreateMessageApiReturnType; }; export interface MessageExposeInstance { close?: MessageCloseImpl; el?: HTMLElement; } export interface MessageProps { type?: MessageType; duration?: number; closable?: boolean; hoverAlive?: boolean; html?: string; card?: boolean; icon?: () => VNodeChild; action?: () => VNodeChild; } export interface MessageGlobalConfig { max?: number; placement?: 'top-left' | 'top-center' | 'top-right' | 'middle-left' | 'middle-center' | 'middle-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'; duration?: number; itemGap?: number; card?: boolean; hoverAlive?: boolean; closable?: boolean; containerStyle?: string | CSSProperties; } export declare const messageProps: { type: { type: PropType; default: string; }; duration: { type: PropType; default: number; }; closable: { type: PropType; default: boolean; }; hoverAlive: { type: PropType; default: boolean; }; html: { type: PropType; default: undefined; }; card: { type: PropType; default: boolean; }; icon: { type: PropType<(() => VNodeChild) | undefined>; default: undefined; }; action: { type: PropType<(() => VNodeChild) | undefined>; default: undefined; }; };