File size: 1,977 Bytes
077865a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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