/**
 * Built-in profile presets for popular model providers.
 *
 * Each preset bundles a host CLI, API base URL, default model, and provider
 * name so users can `agents harness add kimi` without manual configuration.
 */
import type { AgentId } from './types.js';
export interface PresetVar {
    /** Env var name to set in the resulting profile. */
    envVar: string;
    /** User-facing prompt text. */
    prompt: string;
    /** True for secrets — wizard will mask input and store in keychain. */
    secret?: boolean;
    /** Default value (shown in prompt). */
    default?: string;
    /** Optional regex pattern — input validated against it. */
    pattern?: string;
    /** Optional hint text shown beside the prompt. */
    hint?: string;
}
/** A pre-configured profile template for a model provider. */
export interface Preset {
    name: string;
    description: string;
    provider: string;
    host: AgentId;
    env: Record<string, string>;
    vars?: PresetVar[];
    authEnvVar: string;
    /** True if the provider can function without a keychain token (e.g. Bedrock with SSO). */
    authOptional?: boolean;
    signupUrl?: string;
    docPath?: string;
}
export declare const PRESETS: Preset[];
export interface ResolvedPresetEnv {
    /** Env vars from preset.env — always set, no user input. */
    static: Record<string, string>;
    /** Vars the wizard needs to prompt for. */
    prompts: PresetVar[];
}
/** Split a preset into static env vars and prompts needed from the user. */
export declare function expandPreset(p: Preset): ResolvedPresetEnv;
/** Look up a preset by name (case-sensitive). */
export declare function getPreset(name: string): Preset | undefined;
/** Return a copy of all available presets. */
export declare function listPresets(): Preset[];
/** Return the unique set of provider names across all presets. */
export declare function listProviders(): string[];
