import { VarComponent } from './varComponent' import type { VueConstructor, TeleportProps } from 'vue' export interface DialogProps { show?: boolean title?: string message?: string messageAlign?: 'left' | 'center' | 'right' confirmButton?: boolean cancelButton?: boolean confirmButtonText?: string cancelButtonText?: string confirmButtonTextColor?: string cancelButtonTextColor?: string confirmButtonColor?: string cancelButtonColor?: string overlay?: boolean overlayClass?: string overlayStyle?: Record dialogClass?: string dialogStyle?: Record lockScroll?: boolean closeOnClickOverlay?: boolean teleport?: TeleportProps['to'] onOpen?: () => void onOpened?: () => void onBeforeClose?: (action: DialogActions, done: () => void) => void onClose?: () => void onClosed?: () => void onConfirm?: () => void onCancel?: () => void onClickOverlay?: () => void 'onUpdate:show'?: (show: boolean) => void } export class DialogComponent extends VarComponent { $props: DialogProps } export type DialogActions = 'confirm' | 'cancel' | 'close' export interface DialogOptions { title?: string message?: string messageAlign?: 'left' | 'center' | 'right' confirmButton?: boolean cancelButton?: boolean confirmButtonText?: string cancelButtonText?: string confirmButtonTextColor?: string cancelButtonTextColor?: string confirmButtonColor?: string cancelButtonColor?: string overlay?: boolean overlayClass?: string overlayStyle?: Record dialogClass?: string dialogStyle?: Record lockScroll?: boolean closeOnClickOverlay?: boolean onOpen?: () => void onOpened?: () => void onBeforeClose?: (action: DialogActions, done: () => void) => void onClose?: () => void onClosed?: () => void onConfirm?: () => void onCancel?: () => void onClickOverlay?: () => void } export interface IDialog { (options: DialogOptions | string): Promise Component: typeof DialogComponent close(): void install(app: VueConstructor): void } export const Dialog: IDialog export class _DialogComponent extends DialogComponent {}