import type { PolypotConfig } from "../config/schema.js"; import type { PolypotSecrets } from "../config/secrets.js"; import { type PromptAdapter } from "../prompts/common.js"; export interface SetupAnswers { readonly openaiApiKey?: string; readonly validateConnection: boolean; readonly provider: "openai"; readonly model: string; readonly temperature: number; readonly sourceLanguage: string; readonly targetLanguages: readonly string[]; } export type SetupPromptAdapter = PromptAdapter; /** * Set or clear the prompt adapter used by tests. * * @param adapter Prompt adapter to use. */ export declare function setSetupPromptAdapterForTests(adapter: SetupPromptAdapter | undefined): void; /** * Apply setup answers to existing config. * * @param existingConfig Config values already stored. * @param answers Answers collected from setup prompts. * @returns Updated Polypot config. */ export declare function buildSetupConfig(existingConfig: PolypotConfig, answers: SetupAnswers): PolypotConfig; /** * Collect setup answers from the prompt adapter. * * @param existingConfig Config values already stored. * @param existingSecrets Secrets already stored. * @param adapter Prompt adapter to use. * @returns Collected setup answers. */ export declare function collectSetupAnswers(existingConfig: PolypotConfig, existingSecrets: PolypotSecrets, adapter?: SetupPromptAdapter): Promise; /** * Ask whether existing setup files can be changed. * * @param adapter Prompt adapter to use. * @returns True when setup files may be changed. */ export declare function confirmSetupUpdate(adapter?: SetupPromptAdapter): Promise;