/** Bounds the evaluation evidence sent with one routing request. */ export declare const MODEL_SELECTION_EVALS_JSON_BYTES = 14200; /** Provider-independent model tokens: `us.anthropic.claude-opus-4-6-v1` and `anthropic/claude-opus-4.6` agree. */ export declare function modelEvidenceTokens(id: string): string[]; /** One catalog model across its effort, edition and snapshot rows: `astra-high` and `astra-0902` are `astra`. */ export declare function catalogModelIdentity(slug: readonly string[]): string; interface CatalogRow { readonly line: string; readonly section: number; readonly order: number; readonly tokens: readonly string[]; readonly releaseDate?: string; } /** One `## ` section of `evals.md` that holds a model table keyed by `slug`. */ interface CatalogSection { /** The section heading, its notes and key, the table header and separator. */ readonly intro: readonly string[]; } /** `evals.md` parsed once so batch packing can query evidence per candidate cheaply. */ export interface EvalsCatalog { /** Text before the first table section: title, access date and the shared key. */ readonly preamble: readonly string[]; readonly sections: readonly CatalogSection[]; readonly rows: readonly CatalogRow[]; /** The unparsed document when it has no model table. */ readonly raw?: string; readonly matches: Map; } export declare function parseEvalsCatalog(evals: string): EvalsCatalog; /** * Rows describing `candidate`: in each section, its own model and variants, or * its base model when that section has none. Sections resolve independently, so * an exact snapshot row in one table does not hide the base model's rows in another. */ export declare function candidateEvidenceRows(catalog: EvalsCatalog, candidate: string): readonly CatalogRow[]; /** Latest release date among the candidate's evidence rows, when any row has one. */ export declare function candidateReleaseDate(catalog: EvalsCatalog, candidate: string): string | undefined; /** * The catalog preamble plus, for every section with rows for `candidates`, that * section's heading, key and table header followed by only those rows. * Sections without a matching row are left out. `maxBytes` bounds the * JSON-encoded result; batched routing omits it because its request budget * already decides how many candidates, and so how many rows, one batch holds. */ export declare function catalogEvidence(catalog: EvalsCatalog, candidates: readonly string[], maxBytes?: number): string; /** * Keep the catalog preamble and only the table rows that describe an eligible * candidate model, bounded to the routing evidence budget. */ export declare function filterModelSelectionEvals(evals: string, candidates: readonly string[]): string; export {}; //# sourceMappingURL=model-routing-evals.d.ts.map