import type { RateLimiter, RateLimitResult, LeakyBucketConfig, RateLimitStorage, RateLimitCheckOptions, RateLimitContext } from '../types'; export declare class LeakyBucketRateLimiter implements RateLimiter { private config; private storage; constructor(config: LeakyBucketConfig, storage: RateLimitStorage); check(key: string, options?: RateLimitCheckOptions): Promise; reset(key: string, _context?: RateLimitContext): Promise; setLimit(key: string, limit: number, _context?: RateLimitContext): Promise; getLimit(_key: string, _context?: RateLimitContext): Promise; getUsage(key: string, _context?: RateLimitContext): Promise<{ used: number; remaining: number; reset: number; } | null>; private getKey; private getNextResetTime; private getTTL; }