import { RateLimiter } from "./types"; export interface DefaultRateLimiterOptions { beta?: number; minCapacity?: number; minFillRate?: number; scaleConstant?: number; smooth?: number; } export declare class DefaultRateLimiter implements RateLimiter { private beta; private minCapacity; private minFillRate; private scaleConstant; private smooth; private currentCapacity; private enabled; private lastMaxRate; private measuredTxRate; private requestCount; private fillRate; private lastThrottleTime; private lastTimestamp; private lastTxRateBucket; private maxCapacity; private timeWindow; constructor(options?: DefaultRateLimiterOptions); private getCurrentTimeInSeconds; getSendToken(): Promise; private acquireTokenBucket; private refillTokenBucket; updateClientSendingRate(response: any): void; private calculateTimeWindow; private cubicThrottle; private cubicSuccess; private enableTokenBucket; private updateTokenBucketRate; private updateMeasuredRate; private getPrecise; }