import { Request, Response, NextFunction } from 'express';
/**
 * Rate limit configuration
 */
export interface RateLimitConfig {
    windowMs: number;
    max: number;
    message?: string;
    skipSuccessfulRequests?: boolean;
    skipFailedRequests?: boolean;
}
/**
 * Rate limiting middleware factory
 */
export declare function rateLimitMiddleware(config: RateLimitConfig): (req: Request, res: Response, next: NextFunction) => Promise<void>;
/**
 * Create a rate limiter for specific endpoint groups
 */
export declare const createRateLimiter: {
    standard: () => (req: Request, res: Response, next: NextFunction) => Promise<void>;
    strict: () => (req: Request, res: Response, next: NextFunction) => Promise<void>;
    relaxed: () => (req: Request, res: Response, next: NextFunction) => Promise<void>;
    custom: (config: RateLimitConfig) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
};
export default rateLimitMiddleware;
//# sourceMappingURL=rate-limit.middleware.d.ts.map