import type { OpenAICompatOptions } from './openai-compat.js';
import type { AnthropicCompatOptions } from './anthropic-compat.js';
export interface BuiltinProviderDefinition {
    readonly id: string;
    readonly label: string;
    readonly envVars: readonly string[];
    readonly serviceNames?: readonly string[];
    readonly aliases?: readonly string[];
    readonly subscriptionProviderId?: string;
}
export interface BuiltinOpenAICompatDefinition extends BuiltinProviderDefinition {
    readonly kind: 'openai-compat';
    readonly baseURL: string;
    readonly defaultModel: string;
    readonly models: readonly string[];
    readonly embeddingModel?: string;
    readonly reasoningFormat?: OpenAICompatOptions['reasoningFormat'];
    readonly suppressedModels?: readonly string[];
    readonly streamProtocol?: string;
    readonly defaultHeaders?: Record<string, string>;
    readonly allowAnonymous?: boolean;
    readonly anonymousConfigured?: boolean;
    readonly anonymousDetail?: string;
}
export interface BuiltinAnthropicCompatDefinition extends BuiltinProviderDefinition {
    readonly kind: 'anthropic-compat';
    readonly baseURL: string;
    readonly defaultModel: string;
    readonly models: readonly string[];
    readonly defaultHeaders?: Record<string, string>;
    readonly authHeaderMode?: AnthropicCompatOptions['authHeaderMode'];
    readonly streamProtocol?: string;
    readonly allowAnonymous?: boolean;
    readonly anonymousConfigured?: boolean;
    readonly anonymousDetail?: string;
}
export type BuiltinCompatDefinition = BuiltinOpenAICompatDefinition | BuiltinAnthropicCompatDefinition;
export declare const BUILTIN_PROVIDER_ENV_KEYS: Record<string, readonly string[]>;
export declare function getBuiltinProviderEnvVars(providerId: string): readonly string[];
export declare const BUILTIN_COMPAT_PROVIDERS: readonly BuiltinCompatDefinition[];
//# sourceMappingURL=builtin-catalog.d.ts.map