import { RateLimitRequestHandler } from 'express-rate-limit'; import { Request, Response } from 'express'; export interface RateLimitConfig { windowMs?: number; max?: number; keyGenerator?: (req: Request) => string; handler?: (req: Request, res: Response) => void; skipSuccessfulRequests?: boolean; skipFailedRequests?: boolean; costFunction?: (req: Request) => number; } export declare function createRateLimiter(options?: RateLimitConfig): RateLimitRequestHandler; export declare function createEndpointRateLimiter(endpoint: string, options?: RateLimitConfig): RateLimitRequestHandler; export declare function createCostBasedRateLimiter(baseCost?: number, options?: RateLimitConfig): RateLimitRequestHandler; export declare const RateLimitPresets: { auth: RateLimitRequestHandler; api: RateLimitRequestHandler; static: RateLimitRequestHandler; browser: RateLimitRequestHandler; expensive: RateLimitRequestHandler; }; //# sourceMappingURL=rate-limiter.d.ts.map