import { AllowedComponentProps, VNodeProps } from '../common' declare interface MessageActionItem { key: string text: string icon?: string type?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' disabled?: boolean danger?: boolean loading?: boolean hidden?: boolean divider?: boolean badge?: string | number badgeType?: 'primary' | 'success' | 'warning' | 'danger' | 'info' hint?: string data?: any handler?: () => void | Promise } declare interface MessageActionProps { // 显示控制 visible?: boolean position?: 'top' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' theme?: 'light' | 'dark' | 'card' // 数据 actions?: MessageActionItem[] message?: any // 配置 showCancel?: boolean cancelText?: string maxHeight?: string | number width?: string | number borderRadius?: string | number showArrow?: boolean arrowSize?: number iconSize?: number // 位置控制 x?: number y?: number offsetX?: number offsetY?: number fitViewport?: boolean // 动画 animation?: boolean animationDuration?: number // 遮罩 showMask?: boolean maskClosable?: boolean maskColor?: string } declare interface MessageActionEmits { // 基础事件 'update:visible': [visible: boolean] 'open': [] 'close': [] 'cancel': [] // 操作事件 'select': [action: MessageActionItem, message?: any] 'click': [actionKey: string, message?: any] // 生命周期 'before-open': [] 'after-open': [] 'before-close': [] 'after-close': [] } declare interface MessageActionSlots { // 默认插槽(自定义内容) default?: () => any } declare interface MessageActionExpose { open: () => void close: () => void updatePosition: (x: number, y: number) => void updateActions: (newActions: MessageActionItem[]) => void } declare interface _MessageAction { new(): { $props: AllowedComponentProps & VNodeProps & MessageActionProps $emit: MessageActionEmits $slots: MessageActionSlots $exposed?: MessageActionExpose } } export declare const MessageAction: _MessageAction export default MessageAction export type { MessageActionItem, MessageActionProps, MessageActionEmits, MessageActionSlots, MessageActionExpose }