/**
 * @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