/**
 * Modal type definitions
 * @countermeasure/web-components/components/modal
 */
export type ModalVariant = 'confirm' | 'form' | 'alert';
/**
 * Modal panel width preset. Mirrors the `max-w-*` sizing surface of the
 * React twin (`md` ≈ Tailwind `max-w-lg`).
 */
export type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
export interface ModalConfig {
    /** Modal heading text. */
    title: string;
    /**
     * Modal layout / footer button preset.
     * @default 'alert'
     */
    variant?: ModalVariant;
    /**
     * Style the confirm action as destructive (red) for irreversible actions
     * such as deletions.
     * @default false
     */
    destructive?: boolean;
    /**
     * Panel width preset.
     * @default 'md'
     */
    size?: ModalSize;
    /** Body content rendered between the title and footer. */
    body?: string | HTMLElement;
    /**
     * Label for the primary action button.
     * @default 'OK'
     */
    confirmLabel?: string;
    /**
     * Label for the cancel button (when shown).
     * @default 'Cancel'
     */
    cancelLabel?: string;
    /**
     * Render the header close (X) button.
     * @default true
     */
    showCloseButton?: boolean;
    /** Called when the user activates the confirm button. */
    onConfirm?: () => void | Promise<void>;
    /** Called when the user dismisses the modal via cancel/backdrop/Esc. */
    onCancel?: () => void;
    /**
     * Close the modal when the backdrop is clicked.
     * @default true
     */
    closeOnBackdrop?: boolean;
    /**
     * Close the modal when the Escape key is pressed.
     * @default true
     */
    closeOnEscape?: boolean;
}
//# sourceMappingURL=types.d.ts.map