import { AllowedComponentProps, VNodeProps } from '../common' declare interface PopupProps { // 显示控制 show?: boolean modelValue?: boolean // 位置和动画 position?: 'center' | 'top' | 'bottom' | 'left' | 'right' animation?: 'fade' | 'slide' | 'zoom' | 'none' duration?: number // 遮罩层 showOverlay?: boolean overlayColor?: string overlayOpacity?: number closeOnClickOverlay?: boolean overlayClass?: string // 样式 width?: string height?: string backgroundColor?: string borderRadius?: number | string zIndex?: number rounded?: boolean // 行为 lockScroll?: boolean showClose?: boolean closePosition?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' // 自定义 customClass?: string } declare interface PopupEmits { (e: 'update:show', value: boolean): void (e: 'update:modelValue', value: boolean): void (e: 'open'): void (e: 'opened'): void (e: 'close'): void (e: 'closed'): void (e: 'click-overlay'): void (e: 'before-enter'): void (e: 'after-enter'): void (e: 'before-leave'): void (e: 'after-leave'): void } declare interface PopupMethods { // 打开模态框 open: () => void // 关闭模态框 close: () => void // 切换显示状态 toggle: () => void } declare interface _Popup { new(): { $props: AllowedComponentProps & VNodeProps & PopupProps $emit: PopupEmits } & PopupMethods } export declare const Popup: _Popup export default Popup export type { PopupProps, PopupEmits, PopupMethods }