import { EventEmitter } from 'events'; import { Request, RequestHandler, Response } from 'express'; export interface ValidationSchema { body?: any; params?: any; query?: any; headers?: any; } export interface ValidationConfig { abortEarly?: boolean; stripUnknown?: boolean; coerceTypes?: boolean; customErrorHandler?: (errors: ValidationError[], req: Request, res: Response) => void; } export interface ValidationError { field: string; message: string; value?: any; type?: string; } export type ValidatorFunction = (value: any) => ValidationError[] | null; export declare class ValidationMiddleware extends EventEmitter { private config; private validators; constructor(config?: ValidationConfig); registerValidator(name: string, validator: ValidatorFunction): void; validate(schema: ValidationSchema): RequestHandler; private validateDataAsync; private validateFieldAsync; private coerceType; } export declare function createValidationMiddleware(config?: ValidationConfig): ValidationMiddleware; //# sourceMappingURL=validation-middleware.d.ts.map