import type { IInputValidationError, IResultValidationError } from '../../interfaces'; import { ErrorBase } from '../../lib'; export declare type ErrorContext = { path?: string[]; }; export declare type ValidationError = { kind: 'wrongInput'; context?: ErrorContext; } | { kind: 'enumValue'; context?: ErrorContext & { actual: string; }; } | { kind: 'wrongType'; context: ErrorContext & { expected: string; actual: string; }; } | { kind: 'notArray'; context: ErrorContext & { input: unknown; }; } | { kind: 'wrongUnion'; context: ErrorContext & { expected: string[]; }; } | { kind: 'elementsInArrayWrong'; context: ErrorContext & { suberrors: ValidationError[]; }; } | { kind: 'missingRequired'; context?: ErrorContext & { field: string; }; } | { kind: 'nullInNonNullable'; context?: ErrorContext & { field: string; }; }; export declare function isWrongTypeError(err: ValidationError): err is { kind: 'wrongType'; context: { expected: string; actual: string; }; }; export declare function addFieldToErrors(errors: ValidationError[], field: string): ValidationError[]; export declare function formatErrors(errors?: ValidationError[]): string; export declare class InputValidationError extends ErrorBase implements IInputValidationError { errors?: ValidationError[] | undefined; name: "InputValidationError"; constructor(errors?: ValidationError[] | undefined); } export declare class ResultValidationError extends ErrorBase implements IResultValidationError { errors?: ValidationError[] | undefined; name: "ResultValidationError"; constructor(errors?: ValidationError[] | undefined); } export declare const isInputValidationError: (err: unknown) => err is InputValidationError; export declare const isResultValidationError: (err: unknown) => err is ResultValidationError;