/** * UI18n CLI Interaction System * Handles elegant feature upgrade prompts and user interactions */ import { FeatureFlagManager, FeatureConfig } from './feature-flags'; export interface InteractionOptions { autoConfirm?: boolean; verbose?: boolean; suppressWarnings?: boolean; } export interface PromptResult { confirmed: boolean; response?: string; cancelled?: boolean; } export declare class CLIInteractionManager { private options; private rl; constructor(options?: InteractionOptions); /** * Initialize readline interface */ private getReadline; /** * Clean up readline interface */ close(): void; /** * Display formatted feature activation prompt */ promptFeatureActivation(manager: FeatureFlagManager, feature: keyof FeatureConfig, context: string): Promise; /** * Display feature information (for auto-confirm mode) */ private displayFeatureInfo; /** * Generic confirmation prompt */ promptConfirmation(message: string, defaultValue?: boolean, options?: { yesText?: string; noText?: string; showHelp?: boolean; helpText?: string; }): Promise; /** * Multi-choice prompt */ promptChoice(message: string, choices: Array<{ key: string; label: string; description?: string; }>, defaultChoice?: string): Promise<{ choice: string; cancelled: boolean; }>; /** * Progress display for long-running operations */ displayProgress(operation: string, current: number, total: number, details?: string): void; /** * Create ASCII progress bar */ private createProgressBar; /** * Display success message with details */ displaySuccess(message: string, details?: Array<{ label: string; value: string | number; }>): void; /** * Display error message with suggestions */ displayError(error: string, suggestions?: string[], technicalDetails?: string): void; /** * Display warning message */ displayWarning(message: string, details?: string): void; /** * Display info message */ displayInfo(message: string, details?: string): void; /** * Display feature upgrade available message */ displayFeatureUpgradeAvailable(manager: FeatureFlagManager, availableFeatures: Array<{ name: string; description: string; canEnable: boolean; reason?: string; }>): Promise; } /** * Utility function for CLI commands */ export declare function withInteraction(operation: () => Promise, options?: InteractionOptions): Promise; /** * CLI status display utility */ export declare class StatusDisplayManager { /** * Display comprehensive project status */ static displayProjectStatus(manager: FeatureFlagManager, projectPath: string, verbose?: boolean): void; /** * Display quick status summary */ static displayQuickStatus(manager: FeatureFlagManager): void; } //# sourceMappingURL=cli-interaction.d.ts.map