import type { RateLimiter, MiddlewareOptions } from '../types'; export interface ExpressRequest { ip?: string; headers: Record; method?: string; url?: string; [key: string]: any; } export interface ExpressResponse { status(code: number): this; json(body: any): this; set(field: string, value: string | number): this; set(fields: Record): this; [key: string]: any; } export interface ExpressNextFunction { (error?: any): void; } export declare function createExpressMiddleware(rateLimiter: RateLimiter, options?: MiddlewareOptions): (req: ExpressRequest, res: ExpressResponse, next: ExpressNextFunction) => Promise;