export type AnthropicModelStatus = "active" | "deprecated" | "retired"; export interface AnthropicPricing { /** USD per 1M input tokens. */ promptUsdPer1M: number; /** USD per 1M output tokens. */ completionUsdPer1M: number; /** USD per 1M cache-read tokens (5-minute TTL). */ cacheReadUsdPer1M: number; /** USD per 1M cache-write tokens (5-minute TTL). 1hr-TTL writes are 2x input — not surfaced numerically by Anthropic, omitted here. */ cacheWriteUsdPer1M: number; } export interface AnthropicModelEntry { /** Canonical Anthropic API ID (e.g. `claude-opus-4-7`, `claude-haiku-4-5-20251001`). */ id: string; /** Aliased forms accepted by Anthropic API + Claude Code. */ aliases: ReadonlyArray; /** Marketing display name. */ displayName: string; /** Maximum input tokens (full context window). */ contextWindow: number; /** Maximum output tokens per request. */ maxOutputTokens: number; pricing: AnthropicPricing; status: AnthropicModelStatus; /** Release date (ISO date) — null when not surfaced by docs. */ releaseDate: string | null; /** Sunset / retirement date (ISO date) — null when no sunset announced. */ sunsetDate: string | null; /** Capability tags surfaced by `/v1/models` (subset of relevant flags). */ capabilities: ReadonlyArray; } export interface AnthropicCatalog { /** ISO date when this snapshot was taken. */ snapshotDate: string; /** Source page references for traceability. */ sources: ReadonlyArray; models: ReadonlyArray; } export declare const ANTHROPIC_CATALOG_SNAPSHOT: AnthropicCatalog; /** * Look up a model entry by id-or-alias. * * Returns the canonical entry whose `id` matches (case-insensitive) or whose * `aliases` includes the input. Returns `null` for unknown inputs (callers * decide whether to fall back to the alias as the resolved ID). * * Pure function — testable in isolation. Used by `model-resolver.ts`. */ export declare function findAnthropicModel(idOrAlias: string, catalog?: AnthropicCatalog): AnthropicModelEntry | null;