export interface WizardAnswers { name: string; template: string; host: string; description: string; } interface WizardCatalogEntry { id: string; name: string; description?: string; } export interface WizardCatalog { templates: WizardCatalogEntry[]; hosts: ReadonlyArray; } export type Asker = (prompt: string) => Promise; export declare function makeReadlineAsker(): { ask: Asker; close: () => void; }; /** * Run the wizard against a catalog + an asker. Returns the validated * answers ready to feed into scaffold(). * * The wizard does NOT scaffold — it just collects answers. The caller * (the bin) decides whether to scaffold immediately or print the * equivalent CLI invocation for copy-pasting. */ export declare function runWizard(catalog: WizardCatalog, ask: Asker): Promise; /** * Build the equivalent `npx create-agent-harness ...` invocation for * the answers. Useful for the "next time, you can skip the wizard with * this command:" hint we print after a successful scaffold. */ export declare function answersToInvocation(answers: WizardAnswers): string; export {}; //# sourceMappingURL=wizard.d.ts.map