import type { ModelDefinition, TokenLimits } from './registry.js'; /** Per-token USD rates served by the provider's own /models payload. */ export interface ProviderModelPricing { prompt: number; completion: number; cacheRead?: number | undefined; cacheWrite?: number | undefined; } export interface ModelLimitsServiceOptions { readonly cachePath: string; } export declare function getModelLimitsCachePath(cacheDir: string): string; export declare class ModelLimitsService { private readonly options; private cachedData; private cachedOrMap; constructor(options: ModelLimitsServiceOptions); private ensureOpenRouterMap; private resolveTokenLimits; getPricingForModel(modelId: string, provider: string): ProviderModelPricing | null; /** Epoch ms of the fetch behind the current pricing/limits cache, or null when no cache is loaded. */ getPricingFetchedAt(): number | null; getTokenLimitsForModel(modelDef: ModelDefinition): Required; getContextWindowForModel(modelDef: ModelDefinition): number; getToolResultMaxCharsForModel(model: ModelDefinition | null | undefined): number; refresh(): Promise; init(): void; } //# sourceMappingURL=model-limits.d.ts.map