import { ConfirmationDialogMetadata, ConfirmationResult, ConfirmationButton } from './types'; import * as i0 from "@angular/core"; /** * Service for displaying confirmation dialogs. * * @example Basic usage * const result = await confirmationService.confirm({ * title: 'Delete Item', * message: 'Are you sure you want to delete this item?', * }); * * if (result.confirmed) { * // User confirmed * } * * @example Custom buttons + sheet on mobile + app's brand color * const result = await confirmationService.confirm({ * title: 'Regenerate link', * message: 'This revokes the current seller link. Continue?', * confirmButton: { text: 'Regenerate link' }, * cancelButton: { text: 'Cancel' }, * presentation: 'sheet', * theme: 'native', * }); * * @example Destructive action * const result = await confirmationService.confirmDestructive({ * title: 'Delete Account', * message: 'This action cannot be undone. Are you sure?', * }); */ export declare class ConfirmationDialogService { private alertController; private injector; /** * Shows a confirmation dialog and returns the result. * * Componente Angular propio (`ConfirmationDialogV2Component`, abierto vía * `ModalService`) — no `ion-alert`. La estructura DOM de `ion-alert` (nativo, * generado por Ionic dentro de shadow DOM) limitaba cuánto se podía alejar * del look "iOS system alert": texto centrado, botones neutros sin * jerarquía, y CUALQUIER selector de clase normal escrito en un stylesheet * global es incapaz de alcanzar nada dentro de ese shadow root — solo * `::part()`/custom properties cruzan ese boundary. Ver * `components/organisms/confirmation-dialog-v2/` para el detalle. * * `extraButtons` (>2 botones) no está soportado acá — nadie lo usaba en el * factory al migrar. Para un flujo de 3 opciones seguí usando * `confirmSaveDiscard()`, que construye su propio `ion-alert` directo. * * @param options - Configuration for the dialog * @returns Promise resolving to the confirmation result */ confirm(options: ConfirmationDialogMetadata): Promise; /** * Shows a simple confirmation dialog with default buttons. * @param title - Dialog title * @param message - Dialog message * @returns Promise resolving to true if confirmed, false otherwise */ confirmSimple(title: string, message: string): Promise; /** * Shows a destructive action confirmation with red confirm button. * @param options - Configuration for the dialog * @returns Promise resolving to the confirmation result */ confirmDestructive(options: Omit & { confirmButton?: Partial; }): Promise; /** * Shows an info alert with just an OK button. * @param title - Alert title * @param message - Alert message */ alert(title: string, message: string): Promise; /** * Shows a three-option dialog (Save, Discard, Cancel). * Common for unsaved changes scenarios. * @param title - Dialog title * @param message - Dialog message * @returns Promise resolving to 'save' | 'discard' | 'cancel' */ confirmSaveDiscard(title: string, message: string): Promise<'save' | 'discard' | 'cancel'>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }