import { RenderFunction } from 'vue' ; import { RenderContent } from '../_utils/types' ; import { MessageType } from '../_utils/constant' ; export const NOTIFICATION_POSITION = [ 'topLeft' , 'topRight' , 'bottomLeft' , 'bottomRight' , ] as const ; export type NotificationPosition = typeof NOTIFICATION_POSITION [ number ] ; export interface NotificationMethod { zh en info : ( config : string | NotificationConfig ) => NotificationReturn ; zh en success : ( config : string | NotificationConfig ) => NotificationReturn ; zh en warning : ( config : string | NotificationConfig ) => NotificationReturn ; zh en error : ( config : string | NotificationConfig ) => NotificationReturn ; zh en clear : ( position ? : NotificationPosition ) => void ; } export interface NotificationConfig { zh en content : RenderContent ; zh en title ? : RenderContent ; zh en icon ? : RenderFunction ; zh en id ? : string ; zh en type position ? : NotificationPosition ; zh en default showIcon ? : boolean ; zh en closable ? : boolean ; zh en default duration ? : number ; zh en param id onClose ? : ( id : number | string ) => void ; } export interface NotificationReturn { zh en close : ( ) => void ; } export interface NotificationItem { id : number | string ; type : MessageType ; content : RenderContent ; title ? : RenderContent ; icon ? : RenderFunction ; showIcon ? : boolean ; closable ? : boolean ; duration ? : number ; resetOnUpdate ? : boolean ; onClose ? : ( id : number | string ) => void ; }