import type { ModelDefinition, TokenLimits } from './registry.js';
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): {
        prompt: number;
        completion: number;
    } | null;
    getTokenLimitsForModel(modelDef: ModelDefinition): Required<TokenLimits>;
    getContextWindowForModel(modelDef: ModelDefinition): number;
    getToolResultMaxCharsForModel(model: ModelDefinition | null | undefined): number;
    refresh(): Promise<number>;
    init(): void;
}
//# sourceMappingURL=model-limits.d.ts.map