export interface DestructiveOperationOptions { operation: string; targets: string[]; consequences?: string[]; requireExplicitConfirmation?: boolean; confirmationText?: string; skipConfirmation?: boolean; } export interface BackupPromptOptions { operation: string; targets: string[]; recommendBackup?: boolean; backupMessage?: string; } export declare class ConfirmationDialogs { /** * Shows a confirmation dialog for destructive operations */ static confirmDestructiveOperation(options: DestructiveOperationOptions): Promise; /** * Prompts user about creating a backup before a destructive operation */ static promptForBackup(options: BackupPromptOptions): Promise<'yes' | 'no' | 'skip'>; /** * Shows a final confirmation before proceeding with an operation */ static finalConfirmation(operation: string, details?: string[]): Promise; /** * Specialized confirmation for database wiping */ static confirmDatabaseWipe(databaseNames: string[], options?: { includeStorage?: boolean; includeUsers?: boolean; skipConfirmation?: boolean; }): Promise; /** * Specialized confirmation for collection wiping */ static confirmCollectionWipe(databaseName: string, collectionNames: string[], options?: { skipConfirmation?: boolean; }): Promise; /** * Specialized confirmation for function deployment */ static confirmFunctionDeployment(functionNames: string[], options?: { isProduction?: boolean; hasBreakingChanges?: boolean; skipConfirmation?: boolean; }): Promise; /** * Shows operation summary and asks for final confirmation */ static showOperationSummary(title: string, summary: Record, options?: { confirmationRequired?: boolean; warningMessage?: string; }): Promise; /** * Interactive selection with confirmation */ static selectWithConfirmation(items: T[], options: { message: string; displayProperty?: keyof T; multiSelect?: boolean; confirmMessage?: string; validator?: (selection: T[]) => string | true; }): Promise; /** * Confirms overwriting an existing file or directory */ static confirmOverwrite(target: string): Promise; /** * Confirms removal of a file */ static confirmRemoval(target: string): Promise; }