export interface RateLimitBucket { limit: number; remaining: number; resetSeconds: number; capturedAt: number; } export interface RateLimitState { requestsMin?: RateLimitBucket; requestsHour?: RateLimitBucket; tokensMin?: RateLimitBucket; tokensHour?: RateLimitBucket; capturedAt: number; provider: string; } export declare function parseRateLimitHeaders(headers: Record, provider: string): RateLimitState | null; export declare function recordRateLimit(provider: string, retryAfterSeconds: number): void; export declare function isRateLimited(provider: string): boolean; export declare function getRateLimitState(provider: string): RateLimitState | null; export declare function clearRateLimit(provider: string): void; export declare function getBackoffSeconds(provider: string, attempt?: number): number; export declare function getBucketUsedPct(bucket: RateLimitBucket): number; export declare function getRemainingSecondsNow(bucket: RateLimitBucket): number; export declare function formatRateLimitCompact(state: RateLimitState): string; export declare function formatRateLimitDisplay(state: RateLimitState): string; //# sourceMappingURL=rate-limiter.d.ts.map