import { RedisClientType } from 'redis'; import { R as RateLimiter, a as RateLimitOptions, b as RateLimitResult } from '../shared/ratelimit.BtcMexUf.js'; interface RedisRateLimiterOptions { /** * The prefix to use for Redis keys. * * @default '' */ prefix?: string; /** * 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 RedisRateLimiter implements RateLimiter { private readonly redis; private readonly prefix; private readonly maxRequests; private readonly window; private readonly blockingUntilReady; private scriptSha; constructor(redis: RedisClientType, options: RedisRateLimiterOptions); limit(key: string, options?: RateLimitOptions): Promise>; private checkLimit; private blockUntilReady; private executeScript; private evalSha; private resolveWeight; } export { RedisRateLimiter }; export type { RedisRateLimiterOptions };