import { type ModelsConfig, type ProviderDiscovery } from "../config/models-config-schema"; export type ProviderCompatibility = "openai" | "anthropic"; export type ProviderSetupApi = "openai-responses" | "openai-completions" | "anthropic-messages"; export interface ProviderSetupInput { compatibility?: ProviderCompatibility; preset?: string; providerId?: string; baseUrl?: string; apiKey?: string; apiKeyEnv?: string; models?: string[]; modelsPath?: string; force?: boolean; } export interface ProviderSetupResult { providerId: string; compatibility: ProviderCompatibility; api: ProviderSetupApi; baseUrl: string; modelIds: string[]; modelsPath: string; redactedApiKey: string; credentialSource: "literal" | "env"; preset?: string; presetName?: string; } type ProviderConfig = NonNullable[string]>; type ProviderCompatConfig = NonNullable; interface ProviderPreset { id: string; aliases: readonly string[]; name: string; description: string; compatibility: ProviderCompatibility; api: ProviderSetupApi; providerId: string; baseUrl?: string; apiKeyEnv: string; models?: readonly string[]; modelApi?: Readonly>; compat?: ProviderCompatConfig; discovery?: ProviderDiscovery; /** * Parameterized presets (proxy gateways) do not hardcode a base URL or an * unoverridable apiKeyEnv: the caller must supply `--base-url` and may * override `--api-key-env`. `baseUrl` is absent for these presets. */ parameterized?: boolean; } export declare const PROVIDER_PRESETS: readonly ProviderPreset[]; export declare function getDefaultModelsPath(): string; export declare function normalizeProviderId(providerId: string): string; export declare function parseProviderCompatibility(value: string): ProviderCompatibility; export declare function findProviderPreset(value: string | undefined): ProviderPreset | undefined; export declare function formatProviderPresetList(): string; export declare function parseModelList(values: readonly string[]): string[]; export declare function redactSecret(secret: string): string; export declare function validateModelApi(modelApi: Readonly> | undefined, models: readonly string[], presetId: string): void; export declare function addApiCompatibleProvider(input: ProviderSetupInput): Promise; export declare function formatProviderSetupResult(result: ProviderSetupResult): string; export {};