import { R as RateLimiter, a as RateLimitOptions, b as RateLimitResult } from '../shared/ratelimit.BtcMexUf.js'; interface MemoryRateLimiterOptions { /** * Maximum number of requests allowed within the window. */ maxRequests: number; /** * The duration of the fixed window in milliseconds. */ window: number; /** * Block until the request may pass or timeout is reached. * * @default { enabled: false } */ blockingUntilReady?: { /** * Block until the request may pass or timeout is reached. * * @default false */ enabled: boolean; /** * milliseconds */ timeout: number; }; } declare class MemoryRateLimiter implements RateLimiter { private readonly maxRequests; private readonly window; private readonly blockingUntilReady; private current; private currentEpochStart; constructor(options: MemoryRateLimiterOptions); limit(key: string, options?: RateLimitOptions): Promise>; private rotateIfNeeded; private checkLimit; private blockUntilReady; private resolveWeight; } export { MemoryRateLimiter }; export type { MemoryRateLimiterOptions };