/** Minimal interface for a Redis client that supports eval */ export interface RedisLike { eval(script: string, numkeys: number, ...args: (string | number)[]): Promise; } export interface SlidingWindowOptions { redis: RedisLike; limit: number; /** Window duration in milliseconds */ windowMs: number; prefix: string; timeout?: number; } export interface LimitResult { success: boolean; limit: number; remaining: number; /** Unix timestamp in milliseconds when the window resets */ reset: number; } export declare class SlidingWindowLimiter { private redis; private maxRequests; private windowMs; private prefix; private timeout; constructor(options: SlidingWindowOptions); limit(identifier: string): Promise; } //# sourceMappingURL=SlidingWindowLimiter.d.ts.map