import type { ProviderConfig } from '../../types/config.js';
/**
 * Field input type used by the wizard renderer to pick the right widget:
 *   - 'string'  (default): free-form text input.
 *   - 'boolean': Yes/No select. Stored as the string literal "true" / "false"
 *     in the answers map so the rest of the pipeline (Record<string, string>)
 *     stays uniform.
 *   - 'array':   free-form text input that the consuming buildConfig parses as
 *     a comma-separated list. The renderer only adjusts the prompt hint.
 */
export type TemplateFieldType = 'string' | 'boolean' | 'array';
export interface TemplateField {
    name: string;
    prompt: string;
    type?: TemplateFieldType;
    default?: string;
    required?: boolean;
    sensitive?: boolean;
    validator?: (value: string) => string | undefined;
}
export interface ProviderTemplate {
    id: string;
    name: string;
    fields: TemplateField[];
    buildConfig: (answers: Record<string, string>) => ProviderConfig;
}
export declare const PROVIDER_TEMPLATES: ProviderTemplate[];
//# sourceMappingURL=provider-templates.d.ts.map