import { UploadSession } from '../types/index.js'; export interface RateLimiterOptions { maxRequestsPerMinute?: number; maxBytesPerMinute?: number; adaptiveConcurrency?: { min: number; max: number; initial: number; slowStartFactor?: number; errorPenaltyFactor?: number; }; } export declare class UploadRateLimiter { private readonly session; private readonly maxRequests; private readonly maxBytes; private state; private adaptive?; private advisoryConcurrency?; constructor(session: UploadSession, options: RateLimiterOptions); beforeRequest(bytes: number): Promise; private resetIfNeeded; private hasCapacity; private timeUntilReset; getSuggestedConcurrency(defaultValue: number): number; recordError(): void; private persistState; }