import { Component, VNode } from 'vue';

export interface PopupBoxOptions {
    title?: string;
    content?: string | VNode | Component;
    theme?: 'dark' | 'light';
    width?: string | number;
    closable?: boolean;
    closeOnBackdrop?: boolean;
    closeOnEscape?: boolean;
    showFooter?: boolean;
    hideCancel?: boolean;
    cancelText?: string;
    confirmText?: string;
    onClose?: () => void;
    onCancel?: () => void;
    onConfirm?: () => void;
}
export interface PopupBoxHandle {
    close: () => void;
}
export type PopupBoxResult = 'confirm' | 'cancel' | 'close';
export declare function open(options?: PopupBoxOptions): PopupBoxHandle;
export declare function alert(options?: Omit<PopupBoxOptions, 'cancelText' | 'onCancel'>): Promise<PopupBoxResult>;
export declare function confirm(options?: PopupBoxOptions): Promise<PopupBoxResult>;
