/**
 * Provider normalization logic for Virtual Router bootstrap.
 * Extracted from bootstrap.ts to improve modularity and testability.
 */
import { type ProviderAuthConfig, type ProviderRuntimeProfile, type DeepSeekCompatRuntimeOptions, type ResponsesProviderConfig } from '../types.js';
export interface ProviderAuthEntry {
    keyAlias: string;
    auth: ProviderAuthConfig;
}
export interface NormalizedProvider {
    providerId: string;
    providerType: string;
    endpoint: string;
    headers?: Record<string, string>;
    enabled?: boolean;
    outboundProfile: string;
    compatibilityProfile: string;
    processMode: 'chat' | 'passthrough';
    responsesConfig?: ResponsesProviderConfig;
    streaming?: 'always' | 'auto' | 'never';
    modelStreaming?: Record<string, 'always' | 'auto' | 'never'>;
    modelOutputTokens?: Record<string, number>;
    defaultOutputTokens?: number;
    modelContextTokens?: Record<string, number>;
    defaultContextTokens?: number;
    deepseek?: DeepSeekCompatRuntimeOptions;
    serverToolsDisabled?: boolean;
}
export interface ProviderRuntimeBuildResult {
    runtimeEntries: Record<string, ProviderRuntimeProfile>;
    aliasIndex: Map<string, string[]>;
    modelIndex: Map<string, {
        declared: boolean;
        models: string[];
    }>;
}
/**
 * Normalize a raw provider configuration into a NormalizedProvider.
 */
export declare function normalizeProvider(providerId: string, raw: unknown): NormalizedProvider;
export declare function detectProviderType(provider: Record<string, unknown>): string;
export declare function mapOutboundProfile(providerType: string): string;
export declare function normalizeHeaders(input: unknown): Record<string, string> | undefined;
