export interface RateLimitConfig { strategy: "fixed-window" | "sliding-window" | "token-bucket"; maxRequests: number; windowMs: number; identify?: (context: Record) => string; errorMessage?: string; } export interface RateLimitResult { allowed: boolean; remaining: number; resetAt: number; retryAfter?: number; } export declare function createRateLimiter(config: RateLimitConfig): { check: (context?: Record) => RateLimitResult; reset: (context?: Record) => void; clear: () => void; }; export declare function rateLimitMiddleware(config: RateLimitConfig): (context: Record, next: () => Promise) => Promise; //# sourceMappingURL=limiter.d.ts.map