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<string>;
    /** 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<string>;
}
export interface AnthropicCatalog {
    /** ISO date when this snapshot was taken. */
    snapshotDate: string;
    /** Source page references for traceability. */
    sources: ReadonlyArray<string>;
    models: ReadonlyArray<AnthropicModelEntry>;
}
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;
