import { ModelProviderID, ModelSpecificQuota, ProviderQuota } from '../types/types.js'; export type { ModelSpecificQuota, ProviderQuota }; export type QuotaUpdateCallback = (quotaSummary: Record) => void; export declare class QuotaTracker { private quotas; private updateCallback?; private openAIFreeQuota; constructor(updateCallback?: QuotaUpdateCallback); setUpdateCallback(callback: QuotaUpdateCallback | undefined): void; private initializeProviderQuotas; getProviderQuota(provider: ModelProviderID): ProviderQuota; getModelQuota(provider: ModelProviderID, model: string): ModelSpecificQuota | null; trackUsage(provider: ModelProviderID, model: string, inputTokens: number, outputTokens: number): boolean; hasQuota(provider: ModelProviderID, model: string): boolean; hasOpenAIFreeQuota(model: string): boolean; trackCreditUsage(provider: ModelProviderID, creditAmount: number): void; getCreditBalance(provider: ModelProviderID): number; getSummary(): Record; sendQuotaUpdate(): void; } export declare const quotaTracker: QuotaTracker; //# sourceMappingURL=quota_tracker.d.ts.map