import { MODELS } from "./models.generated.ts"; import type { Api, KnownProvider, Model, ModelThinkingLevel, Usage } from "./types.ts"; 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"]; export declare function getSupportedThinkingLevels(model: Model): ModelThinkingLevel[]; export declare function clampThinkingLevel(model: Model, level: ModelThinkingLevel): ModelThinkingLevel; /** * 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