type Provider = "openai" | "anthropic" | "google" | "mistral" | "cohere" | "bedrock" | "openrouter" | "vercel"; type HostAlias = Provider | "aistudio" | "alibaba" | "alibabacloud" | "atlascloud" | "baidu" | "dashscope" | "deepinfra" | "fireworks" | "fireworksai" | "grok" | "minimax" | "novita" | "novitaai" | "parasail" | "qianfan" | "vertex" | "venice" | "wandb" | "weightsandbiases" | "xai" | "xiaomi"; type Env = Record; declare const HOST_ALIASES: Record; interface HostResolution { /** The hostname/host to use for requests. */ host: string; /** The provider alias that was expanded, if any. */ alias?: HostAlias; } /** * Resolve short provider host aliases (`openai`, `anthropic`, etc.) to their * canonical hostnames. Per-provider environment overrides can redirect aliases * to regional or private endpoints: * * - `LLM_STRINGS_OPENAI_HOST` * - `LLM_STRINGS_HOST_OPENAI` */ declare function resolveHostAlias(host: string, env?: Env): HostResolution; declare function providerFromHostAlias(alias: string): Provider | undefined; declare function detectProvider(host: string): Provider | undefined; /** * Shorthand aliases → canonical param name. * Canonical names use snake_case and follow OpenAI conventions where possible. */ declare const ALIASES: Record; /** * Canonical param name → provider-specific API param name. * Only includes params the provider actually supports. */ declare const PROVIDER_PARAMS: Record>; /** * Validation specs per provider, keyed by provider-specific param name. */ interface ParamSpec { type: "number" | "string" | "boolean"; min?: number; max?: number; values?: string[]; default?: string | number | boolean; description?: string; } declare const PARAM_SPECS: Record>; /** OpenAI reasoning models don't support standard sampling params. */ declare function isReasoningModel(model: string): boolean; /** Providers that can route to OpenAI models (and need reasoning-model checks). */ declare function canHostOpenAIModels(provider: Provider): boolean; /** Whether this provider is a gateway/router that proxies to other providers. */ declare function isGatewayProvider(provider: Provider): boolean; /** * Extract the underlying provider from a gateway model string. * e.g. "anthropic/claude-sonnet-4-5" → "anthropic" * Returns undefined for unknown prefixes (qwen, deepseek, etc.) or models without "/". */ declare function detectGatewaySubProvider(model: string): Provider | undefined; declare const REASONING_MODEL_UNSUPPORTED: Set; /** * Bedrock model IDs are prefixed with the vendor name. * e.g. "anthropic.claude-sonnet-4-5-20250929-v1:0" */ type BedrockModelFamily = "anthropic" | "meta" | "amazon" | "mistral" | "cohere" | "ai21"; declare function detectBedrockModelFamily(model: string): BedrockModelFamily | undefined; /** Whether a Bedrock model supports prompt caching (Claude and Nova only). */ declare function bedrockSupportsCaching(model: string): boolean; /** Cache value normalization per provider. */ declare const CACHE_VALUES: Record; /** Valid cache TTL values per provider. */ declare const CACHE_TTLS: Record; /** Match a duration expression like "5m", "1h", "30m". */ declare const DURATION_RE: RegExp; export { ALIASES as A, type BedrockModelFamily as B, CACHE_TTLS as C, DURATION_RE as D, HOST_ALIASES as H, type Provider as P, REASONING_MODEL_UNSUPPORTED as R, type HostAlias as a, type HostResolution as b, CACHE_VALUES as c, PARAM_SPECS as d, PROVIDER_PARAMS as e, type ParamSpec as f, bedrockSupportsCaching as g, canHostOpenAIModels as h, detectBedrockModelFamily as i, detectGatewaySubProvider as j, detectProvider as k, isGatewayProvider as l, isReasoningModel as m, providerFromHostAlias as p, resolveHostAlias as r };