import { RenderFunction } from 'vue' ; import { RenderContent } from '../_utils/types' ; import { MessageType } from '../_utils/constant' ; export const MESSAGE_POSITION = [ 'top' , 'bottom' ] as const ; export type MessagePosition = typeof MESSAGE_POSITION [ number ] ; export interface MessageMethod { zh en info : ( config : string | MessageConfig ) => MessageReturn ; zh en success : ( config : string | MessageConfig ) => MessageReturn ; zh en warning : ( config : string | MessageConfig ) => MessageReturn ; zh en error : ( config : string | MessageConfig ) => MessageReturn ; zh en loading : ( config : string | MessageConfig ) => MessageReturn ; zh en clear : ( position ? : MessagePosition ) => void ; } export interface MessageConfig { zh en content : RenderContent ; zh en id ? : string ; zh en icon ? : RenderFunction ; zh en type position ? : MessagePosition ; zh en showIcon ? : boolean ; zh en closable ? : boolean ; zh en duration ? : number ; zh en param id onClose ? : ( id : number | string ) => void ; } export interface MessageReturn { zh en close : ( ) => void ; } export interface MessageItem { id : number | string ; content : RenderContent ; type ? : MessageType | 'loading' ; icon ? : RenderFunction ; showIcon ? : boolean ; closable ? : boolean ; duration ? : number ; resetOnUpdate ? : boolean ; onClose ? : ( id : number | string ) => void ; }