import type { RateLimiter, RateLimitResult, SlidingWindowConfig, RateLimitStorage, RateLimitCheckOptions, RateLimitContext } from '../types'; export declare class SlidingWindowRateLimiter implements RateLimiter { private config; private storage; private precision; constructor(config: SlidingWindowConfig, 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 getWindowKey; }