/** * @module @arcis/node/middleware/rate-limit * Rate limiting middleware */ import type { RateLimitOptions, RateLimiterMiddleware } from '../core/types'; /** * Create Express middleware for rate limiting. * * @param options - Rate limit configuration * @returns Express middleware with cleanup method * * @example * app.use(createRateLimiter({ max: 100, windowMs: 60000 })); * * @example * // Skip rate limiting for certain routes * app.use(createRateLimiter({ * max: 50, * skip: (req) => req.path === '/health' * })); * * @example * // Cleanup on shutdown * const limiter = createRateLimiter(); * app.use(limiter); * process.on('SIGTERM', () => limiter.close()); */ export declare function createRateLimiter(options?: RateLimitOptions): RateLimiterMiddleware; /** * Alias for createRateLimiter * @see createRateLimiter */ export declare const rateLimit: typeof createRateLimiter; //# sourceMappingURL=rate-limit.d.ts.map