/** * Secret Prompts * * Interactive prompts for collecting secrets from the user. */ import type { FactiiiConfig } from '../types/index.js'; interface ValidationResult { valid: boolean; error?: string; defaultValue?: string; } interface SecretMetadata { type: string; description: string; helpText: string; validation: (value: string) => ValidationResult; } interface MultiSelectChoice { name: string; checked: boolean; } /** * Get secret metadata */ export declare function getSecretMetadata(secretName: string): SecretMetadata; /** * Format help text for a secret */ export declare function formatSecretHelp(secretName: string): string; /** * Validate secret format */ export declare function validateSecretFormat(secretName: string, value: string): ValidationResult; /** * Prompt for single-line input. * When options.hidden is true, user input is not echoed to the terminal. */ export declare function promptSingleLine(prompt: string, options?: { hidden?: boolean; }): Promise; /** * Prompt for multi-line input (for SSH keys) * Hides input from terminal to protect sensitive data like private keys. * User sees "[hidden] Pasting..." while entering, then a confirmation line count. */ export declare function promptMultiLine(prompt: string): Promise; /** * Prompt for a secret with validation * @param secretName - Name of the secret * @param _config - Factiii configuration (optional) * @returns Secret value */ export declare function promptForSecret(secretName: string, _config?: FactiiiConfig): Promise; /** * Prompt for confirmation (yes/no) */ export declare function confirm(message: string, defaultYes?: boolean): Promise; /** * Multi-select prompt (simplified version) * In a real implementation, you'd use a library like 'inquirer' * For now, this is a basic implementation */ export declare function multiSelect(message: string, choices: MultiSelectChoice[]): Promise; /** * Prompt for an environment secret (simpler than SSH keys) * @param name - Name of the environment variable * @param stage - Stage (staging or prod) * @returns Secret value */ export declare function promptForEnvSecret(name: string, stage: 'staging' | 'prod'): Promise; export {}; //# sourceMappingURL=secret-prompts.d.ts.map