import { MODELS } from "./models.generated.js"; import type { Api, KnownProvider, Model, Usage } from "./types.js"; export type ModelRegistryChangeEvent = { type: "added"; provider: string; model: Model; }; /** * Subscribe to registry mutations performed by the discovery layer * (newly-published model ids). Returns an unsubscribe function. */ export declare function onModelRegistryChange(listener: (e: ModelRegistryChangeEvent) => void): () => void; type ModelApi = (typeof MODELS)[TProvider][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 / GPT-5.4 / GPT-5.5 model families * - Opus 4.6 models (xhigh maps to adaptive effort "max" on Anthropic-compatible providers) */ 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 {}; //# sourceMappingURL=models.d.ts.map