import { Color } from '@ionic/core'; /** * Button configuration for confirmation dialog. */ export interface ConfirmationButton { /** Button text */ text: string; /** Button role */ role?: 'cancel' | 'destructive' | 'confirm'; /** Button color (Ionic color) */ color?: Color; /** CSS class for the button */ cssClass?: string; /** Handler function called when button is clicked */ handler?: () => void | Promise | boolean | Promise; } /** * Metadata for the confirmation dialog. */ export interface ConfirmationDialogMetadata { /** Dialog title */ title: string; /** Dialog message/content */ message: string; /** Confirm button configuration */ confirmButton?: ConfirmationButton; /** Cancel button configuration */ cancelButton?: ConfirmationButton; /** * @deprecated No soportado desde que `confirm()` usa `ConfirmationDialogV2Component` * (2 botones fijos). Para un flujo de 3 opciones usar `confirmSaveDiscard()`. */ extraButtons?: ConfirmationButton[]; /** Allow dismissing by clicking backdrop */ backdropDismiss?: boolean; /** CSS class(es) for the alert */ cssClass?: string | string[]; /** Alert mode */ mode?: 'ios' | 'md'; /** Unique token identifier */ token?: string; /** Translucent backdrop */ translucent?: boolean; /** Animated transitions */ animated?: boolean; /** Header subtitle */ subHeader?: string; /** `dialog` (centrado) o `sheet` (sube desde abajo, con handle). Default `dialog`. */ presentation?: 'dialog' | 'sheet'; /** `core` (neutro, negro/blanco) o `native` (usa --ion-color-primary de la app). Default `core`. */ theme?: 'core' | 'native'; } /** * Result from confirmation dialog. */ export interface ConfirmationResult { /** Whether the dialog was confirmed */ confirmed: boolean; /** The role of the button clicked */ role?: string; /** Any data returned */ data?: any; } /** * Default confirmation dialog options. */ export declare const DEFAULT_CONFIRM_BUTTON: ConfirmationButton; export declare const DEFAULT_CANCEL_BUTTON: ConfirmationButton;