import type { AppContext, ComponentInternalInstance, ExtractPropTypes, PropType, VNode } from 'vue'; import type { Mutable } from './../../types'; export declare const messageDefaults: { readonly id: ""; readonly type: "primary"; readonly content: ""; readonly closable: false; readonly duration: 3000; readonly appendTo: HTMLElement; readonly onClose: undefined; readonly icon: null; readonly zIndex: 0; readonly parseHtml: false; readonly offset: 16; }; export declare const messageProps: { id: { type: StringConstructor; default: ""; }; /** Theme */ type: { type: PropType<"error" | "primary" | "secondary" | "success" | "warning" | "info">; default: "primary"; }; /** Message content */ content: { type: PropType | (() => VNode)>; default: ""; }; /** closable */ closable: { type: BooleanConstructor; default: false; }; /** duration ms */ duration: { type: NumberConstructor; default: 3000; }; onClose: { type: PropType<() => void>; required: undefined; }; icon: { type: StringConstructor; default: null; }; zIndex: { type: NumberConstructor; default: 0; }; parseHtml: { type: BooleanConstructor; default: false; }; offset: { type: NumberConstructor; default: 16; }; }; export type OMessageProps = ExtractPropTypes; export declare const messageEmits: { destroy: () => boolean; close: (evt: MouseEvent) => boolean; }; export type MessageEmits = typeof messageEmits; export type MessageOptions = Partial & { appendTo?: HTMLElement | string; }>>; export type CreateMessageType = Omit & { appendTo: HTMLElement; }; export type MessageParams = MessageOptions | MessageOptions['content']; export type MessageOptionsWithType = Omit; export type MessageParamsWithType = MessageOptionsWithType | MessageOptions['content']; export interface MessageHandler { close: () => void; } export type MessageTypedFn = (options?: MessageParamsWithType, appContext?: null | AppContext) => MessageHandler; export interface MessageFn { (options?: MessageParams, appContext?: null | AppContext): MessageHandler; } export interface Message extends MessageFn { success: MessageTypedFn; error: MessageTypedFn; warning: MessageTypedFn; info: MessageTypedFn; primary: MessageTypedFn; secondary: MessageTypedFn; } export interface MessageContext { id: string; vnode: VNode; handler: MessageHandler; props: Mutable; vm: ComponentInternalInstance; }