import { Question, ListQuestion } from 'inquirer'; import { PaduaConfig } from '../login/types.js'; /** * Padua AWS account configurations */ declare const PADUA_ACCOUNTS: readonly [{ readonly name: "development"; readonly accountId: "361485743373"; }, { readonly name: "preproduction"; readonly accountId: "632525745250"; }, { readonly name: "production"; readonly accountId: "196829529726"; }, { readonly name: "sharedservices"; readonly accountId: "462199339380"; }]; /** * Padua SSO role options */ declare const PADUA_SSO_ROLES: readonly [{ readonly name: "Developers"; readonly description: "Standard developer access (recommended)"; }, { readonly name: "Administrators"; readonly description: "Full administrative access"; }]; /** * Padua-specific default configuration values * These are pre-filled to match the standard Padua infrastructure setup */ declare const PADUA_DEFAULTS: { profile: string; region: string; sso: { startUrl: string; region: string; roleName: string; accountId: string; }; codeartifact: { domain: string; domainOwner: string; repository: string; }; ecr: { accountId: string; region: string; }; }; /** * Internal interface for prompt answers */ interface PromptAnswers { profileName: string; ssoAccount: string; ssoRoleName: string; region: string; includeCodeArtifact: boolean; codeartifactDomain?: string; codeartifactOwner?: string; codeartifactRepository?: string; includeEcr: boolean; ecrAccountId?: string; ecrRegion?: string; } /** * SSO configuration extracted from answers */ export interface SSOConfig { profileName: string; startUrl: string; ssoRegion: string; accountId: string; roleName: string; defaultRegion: string; } /** * Validator functions compatible with inquirer * Return true for valid, error message string for invalid */ declare function createProfileValidator(): (value: string) => true | string; declare function createRegionValidator(): (value: string) => true | string; declare function createAccountIdValidator(field: string): (value: string) => true | string; declare function createDomainValidator(): (value: string) => true | string; declare function createRepositoryValidator(): (value: string) => true | string; /** * Prompt creators return inquirer Question objects */ declare function createProfileNamePrompt(defaultValue?: string): Question; declare function createSSOAccountPrompt(defaultAccountId?: string): ListQuestion; declare function createSSORolePrompt(defaultRole?: string): ListQuestion; declare function createRegionPrompt(defaultValue?: string): Question; declare function createCodeArtifactOptInPrompt(): Question; declare function createCodeArtifactDomainPrompt(defaultValue?: string): Question; declare function createCodeArtifactOwnerPrompt(defaultValue?: string): Question; declare function createCodeArtifactRepositoryPrompt(defaultValue?: string): Question; declare function createEcrOptInPrompt(): Question; declare function createEcrAccountIdPrompt(defaultValue?: string): Question; declare function createEcrRegionPrompt(defaultValue?: string): Question; /** * Extract account ID from the ssoAccount answer format "name (accountId)" */ declare function extractAccountId(ssoAccount: string): string; /** * Display configuration summary */ declare function displaySummary(answers: PromptAnswers): void; declare function createConfirmationPrompt(): Question; /** * Result from runPrompts containing both configs */ export interface PromptResult { paduaConfig: PaduaConfig; ssoConfig: SSOConfig; } /** * Run the complete prompt flow * * @param existingConfig - Optional existing config to use as defaults * @returns PromptResult - Both PaduaConfig and SSOConfig * @throws Error if user cancels (Ctrl+C) or validation fails after retries */ export declare function runPrompts(existingConfig: PaduaConfig | null): Promise; export { createProfileValidator, createRegionValidator, createAccountIdValidator, createDomainValidator, createRepositoryValidator, createProfileNamePrompt, createSSOAccountPrompt, createSSORolePrompt, createRegionPrompt, createCodeArtifactOptInPrompt, createCodeArtifactDomainPrompt, createCodeArtifactOwnerPrompt, createCodeArtifactRepositoryPrompt, createEcrOptInPrompt, createEcrAccountIdPrompt, createEcrRegionPrompt, createConfirmationPrompt, displaySummary, extractAccountId, PADUA_DEFAULTS, PADUA_ACCOUNTS, PADUA_SSO_ROLES, }; //# sourceMappingURL=prompts.d.ts.map