import { type GroundingLimits } from "@oscharko-dev/keiko-contracts/bff-wire";
import type { CircuitBreakerConfig, GatewayConfig, ModelCapability } from "./types.js";
export declare const DEFAULT_API_KEY_HEADER_NAME = "authorization";
export declare const SUPPORTED_API_KEY_HEADER_NAMES: readonly ["authorization", "x-litellm-key", "x-api-key", "api-key"];
export type EnvSource = Readonly<Record<string, string | undefined>>;
export interface SafeProviderConfig {
    readonly modelId: string;
    readonly credentialHeaderName: string;
    readonly timeoutMs: number;
    readonly maxRetries: number;
    readonly retryBaseDelayMs: number;
}
export interface SafeGatewayConfig {
    readonly providers: readonly SafeProviderConfig[];
    readonly circuitBreaker: CircuitBreakerConfig;
    readonly capabilities?: readonly ModelCapability[] | undefined;
    readonly grounding?: Partial<GroundingLimits> | undefined;
}
export declare function normalizeApiKeyHeaderName(value: unknown, path: string, fallback?: string): string;
export declare function apiKeyHeaderValue(headerName: string, apiKey: string): string;
export declare function validateBaseUrl(baseUrl: string, path: string): void;
export declare function parseModelCapability(value: unknown, path: string): ModelCapability;
export declare function parseCapabilityList(value: unknown, path: string): readonly ModelCapability[];
export declare function parseGatewayConfig(raw: unknown, env?: EnvSource): GatewayConfig;
export declare function loadConfigFromFile(path: string, env?: EnvSource): GatewayConfig;
export declare function toSafeObject(config: GatewayConfig): SafeGatewayConfig;
//# sourceMappingURL=config.d.ts.map