/** * [WHO]: getModel, getProviders, getModels, calculateCost, supportsXhigh * [FROM]: Depends on ./models.generated.js * [TO]: Consumed by core/lib/ai/src/index.ts * [HERE]: core/lib/ai/src/models.ts - */ import { MODELS } from "./models.generated.js"; import type { Api, KnownProvider, Model, Usage } from "./types.js"; type ModelMap = typeof MODELS; type ModelMapKey = keyof ModelMap; type ModelApi = ModelMap[TProvider & ModelMapKey][TModelId] extends { api: infer TApi; } ? (TApi extends Api ? TApi : never) : never; export declare function getModel(provider: TProvider, modelId: TModelId): Model>; export declare function getProviders(): KnownProvider[]; export declare function getModels(provider: TProvider): Model>[]; export declare function calculateCost(model: Model, usage: Usage): Usage["cost"]; /** * Check if a model supports xhigh thinking level. * * Supported today: * - GPT-5.2 / GPT-5.3 model families * - Anthropic Messages API Opus 4.6 models (xhigh maps to adaptive effort "max") */ export declare function supportsXhigh(model: Model): boolean; /** * Check if two models are equal by comparing both their id and provider. * Returns false if either model is null or undefined. */ export declare function modelsAreEqual(a: Model | null | undefined, b: Model | null | undefined): boolean; export {};