import { HttpException, ExceptionFilter, ArgumentsHost, DynamicModule } from '@nestjs/common'; interface ErrorMessage { path: string; message: string[]; } interface ErrorResponse { success: boolean; message: string; errorMessages: ErrorMessage[]; } interface ExceptionFormatter { supports(exception: unknown): boolean; format(exception: unknown): ErrorMessage[]; message(exception: unknown): string; } interface ExceptionHandlerConfig { enableLogging?: boolean; hideStackTrace?: boolean; } declare class ValidationErrorFormatter { formatValidationErrors(exception: HttpException): ErrorMessage[]; private formatNestedValidationErrors; } interface PrismaError { code?: string; meta?: Record; message?: string; clientVersion?: string; } declare class PrismaExceptionFormatter implements ExceptionFormatter { supports(exception: unknown): boolean; format(exception: unknown): ErrorMessage[]; message(_exception: unknown): string; formatError(exception: PrismaError): ErrorMessage[]; private formatPrismaError; private formatQueryError; private formatInitializationError; private formatUnknownError; } declare class DtoValidationFormatter { formatDtoValidationException(exception: HttpException): ErrorMessage[]; } declare class ExceptionHandlerService { private formatters; private defaultFormatter; constructor(); private registerFormatters; registerFormatter(formatter: ExceptionFormatter): void; getFormatter(exception: unknown): ExceptionFormatter; formatException(exception: unknown): { errors: ErrorMessage[]; message: string; }; formatErrors(exception: unknown): ErrorMessage[]; getErrorMessage(exception: unknown): string; getAllFormatters(): ExceptionFormatter[]; } declare class GlobalExceptionFilter implements ExceptionFilter { private exceptionHandlerService?; private readonly logger; private config; constructor(exceptionHandlerService?: ExceptionHandlerService | undefined, config?: ExceptionHandlerConfig); private getService; catch(exception: unknown, host: ArgumentsHost): void; private getStatusCode; private logError; } declare class ExceptionHandlerModule { static forRoot(config?: ExceptionHandlerConfig): DynamicModule; static forFeature(config?: ExceptionHandlerConfig): DynamicModule; } declare function initializeFormatters(service: ExceptionHandlerService): void; declare class HttpErrorFormatter { formatHttpException(exception: HttpException): ErrorMessage[]; getMessage(exception: HttpException): string; } export { DtoValidationFormatter, ErrorMessage, ErrorResponse, ExceptionFormatter, ExceptionHandlerConfig, ExceptionHandlerModule, ExceptionHandlerService, GlobalExceptionFilter, HttpErrorFormatter, PrismaExceptionFormatter, ValidationErrorFormatter, initializeFormatters };