/** * Importing npm packages */ import { JsonObject } from 'type-fest'; import { AppError, AppErrorObject } from './app.error.js'; /** * Defining types */ export interface FieldError { field: string; msg: string; details?: JsonObject; } export interface ValidationErrorObject extends AppErrorObject { fields: FieldError[]; } /** * Declaring the constants */ export declare class ValidationError extends AppError { private errors; constructor(); constructor(field: string, message: string, details?: JsonObject); static combineErrors(...errors: ValidationError[]): ValidationError; addFieldError(field: string, msg: string, details?: JsonObject): ValidationError; getErrors(withDetails?: boolean): FieldError[]; getErrorCount(): number; getSummary(): string; toObject(withDetails?: boolean): ValidationErrorObject; }