export type TValidationError = TAdditionalPropertiesError | TAnyOfError | TBooleanError | TConstError | TContainsError | TDependenciesError | TDependentRequiredError | TEnumError | TExclusiveMaximumError | TExclusiveMinimumError | TFormatError | TIfError | TMaximumError | TMaxItemsError | TMaxLengthError | TMaxPropertiesError | TMinimumError | TMinItemsError | TMinLengthError | TMinPropertiesError | TMultipleOfError | TNotError | TOneOfError | TPatternError | TPropertyNamesError | TRefineError | TRequiredError | TTypeError | TUnevaluatedItemsError | TUnevaluatedPropertiesError | TUniqueItemsError; export declare function IsValidationError(value: unknown): value is TValidationError; export type TLocalizedValidationError = TValidationError & { message: string; }; export declare function IsLocalizedValidationError(value: unknown): value is TLocalizedValidationError; export type TLocalizedValidationMessageCallback = (error: TValidationError) => string; export interface TValidationErrorBase { keyword: string; schemaPath: string; instancePath: string; params: object; } export interface TAdditionalPropertiesError extends TValidationErrorBase { keyword: 'additionalProperties'; params: { additionalProperties: string[]; }; } export interface TAnyOfError extends TValidationErrorBase { keyword: 'anyOf'; params: {}; } export interface TBooleanError extends TValidationErrorBase { keyword: 'boolean'; params: {}; } export interface TConstError extends TValidationErrorBase { keyword: 'const'; params: { allowedValue: unknown; }; } export interface TContainsError extends TValidationErrorBase { keyword: 'contains'; params: { minContains: number; maxContains?: number; }; } export interface TDependenciesError extends TValidationErrorBase { keyword: 'dependencies'; params: { property: string; dependencies: string[]; }; } export interface TDependentRequiredError extends TValidationErrorBase { keyword: 'dependentRequired'; params: { property: string; dependencies: string[]; }; } export interface TEnumError extends TValidationErrorBase { keyword: 'enum'; params: { allowedValues: unknown[]; }; } export interface TExclusiveMaximumError extends TValidationErrorBase { keyword: 'exclusiveMaximum'; params: { comparison: '<'; limit: number | bigint; }; } export interface TExclusiveMinimumError extends TValidationErrorBase { keyword: 'exclusiveMinimum'; params: { comparison: '>'; limit: number | bigint; }; } export interface TFormatError extends TValidationErrorBase { keyword: 'format'; params: { format: string; }; } export interface TIfError extends TValidationErrorBase { keyword: 'if'; params: { failingKeyword: 'then' | 'else'; }; } export interface TMaximumError extends TValidationErrorBase { keyword: 'maximum'; params: { comparison: '<='; limit: number | bigint; }; } export interface TMaxItemsError extends TValidationErrorBase { keyword: 'maxItems'; params: { limit: number; }; } export interface TMaxLengthError extends TValidationErrorBase { keyword: 'maxLength'; params: { limit: number; }; } export interface TMaxPropertiesError extends TValidationErrorBase { keyword: 'maxProperties'; params: { limit: number; }; } export interface TMinimumError extends TValidationErrorBase { keyword: 'minimum'; params: { comparison: '>='; limit: number | bigint; }; } export interface TMinItemsError extends TValidationErrorBase { keyword: 'minItems'; params: { limit: number; }; } export interface TMinLengthError extends TValidationErrorBase { keyword: 'minLength'; params: { limit: number; }; } export interface TMinPropertiesError extends TValidationErrorBase { keyword: 'minProperties'; params: { limit: number; }; } export interface TMultipleOfError extends TValidationErrorBase { keyword: 'multipleOf'; params: { multipleOf: number | bigint; }; } export interface TMinimumError extends TValidationErrorBase { keyword: 'minimum'; params: { comparison: '>='; limit: number | bigint; }; } export interface TNotError extends TValidationErrorBase { keyword: 'not'; params: {}; } export interface TOneOfError extends TValidationErrorBase { keyword: 'oneOf'; params: { passingSchemas: number[]; }; } export interface TPatternError extends TValidationErrorBase { keyword: 'pattern'; params: { pattern: string | RegExp; }; } export interface TPropertyNamesError extends TValidationErrorBase { keyword: 'propertyNames'; params: { propertyNames: string[]; }; } export interface TRefineError extends TValidationErrorBase { keyword: '~refine'; params: { index: number; message: string; }; } export interface TRequiredError extends TValidationErrorBase { keyword: 'required'; params: { requiredProperties: string[]; }; } export interface TTypeError extends TValidationErrorBase { keyword: 'type'; params: { type: string | string[]; }; } export interface TUnevaluatedItemsError extends TValidationErrorBase { keyword: 'unevaluatedItems'; params: { unevaluatedItems: number[]; }; } export interface TUnevaluatedPropertiesError extends TValidationErrorBase { keyword: 'unevaluatedProperties'; params: { unevaluatedProperties: PropertyKey[]; }; } export interface TUniqueItemsError extends TValidationErrorBase { keyword: 'uniqueItems'; params: { duplicateItems: number[]; }; }