import { Component, VNode } from 'vue'; import { messageType } from 'element-plus'; export interface MessageProps { message?: VNode | string | (() => string); type?: MessageType; plain?: boolean; icon?: string | Component; dangerouslyUseHTMLString?: boolean; customClass?: string; duration?: number; showClose?: boolean; center?: boolean; offset?: number; onClose?: () => void; grouping?: boolean; appendTo?: string | HTMLElement; repeatNum?: number; closeOnClick?: boolean; } export type MessageOption = MessageProps | string; export type MessageType = messageType; export interface MessageService { (options: T): V; success: (options: T) => V; error: (options: T) => V; warning: (options: T) => V; info: (options: T) => V; }