export declare function canMakeRequest(platform: string, modelId: string, keyId: number, limits: { rpm: number | null; rpd: number | null; tpm: number | null; tpd: number | null; }): boolean; export declare function canUseTokens(platform: string, modelId: string, keyId: number, estimatedTokens: number, limits: { tpm: number | null; tpd: number | null; }): boolean; export declare function getProviderDailyRequestCap(platform: string): number | null; export declare function providerDailyRequestCount(platform: string, keyId: number, now?: number): number; export declare function canUseProvider(platform: string, keyId: number, now?: number): boolean; export declare function recordRequest(platform: string, modelId: string, keyId: number): void; export declare function recordTokens(platform: string, modelId: string, keyId: number, tokens: number): void; export declare function getNextCooldownDuration(platform: string, modelId: string, keyId: number): number; export declare const PAYMENT_REQUIRED_COOLDOWN_MS: number; export declare const MODEL_FORBIDDEN_COOLDOWN_MS: number; export declare function getCooldownDurationForLimit(platform: string, modelId: string, keyId: number, limits: { rpd: number | null; tpd: number | null; }, retryAfterMs?: number | null): number; export declare function setCooldown(platform: string, modelId: string, keyId: number, durationMs?: number): void; export declare function isOnCooldown(platform: string, modelId: string, keyId: number): boolean; export declare function getRateLimitStatus(platform: string, modelId: string, keyId: number, limits: { rpm: number | null; rpd: number | null; tpm: number | null; tpd: number | null; }): { rpm: { used: number; limit: number | null; }; rpd: { used: number; limit: number | null; }; tpm: { used: number; limit: number | null; }; }; //# sourceMappingURL=ratelimit.d.ts.map