import { IEnumValidatorDefinition, IFormatValidatorDefinition, IMaximumValidatorDefinition, IMaxItemsValidatorDefinition, IMaxLengthValidatorDefinition, IMinimumValidatorDefinition, IMinItemsValidatorDefinition, IMinLengthValidatorDefinition, IPatternValidatorDefinition, IPresentValidatorDefinition, IRequiredValidatorDefinition } from "."; export interface IValidator { definition: U; validate: (input: T) => IValidationError | null; } export interface IBaseValidatorDefinition { type?: string; } export declare type IValidatorDefinition = (IEnumValidatorDefinition<{}> | IFormatValidatorDefinition | IMaxItemsValidatorDefinition | IMaxLengthValidatorDefinition | IMaximumValidatorDefinition | IMinItemsValidatorDefinition | IMinLengthValidatorDefinition | IMinimumValidatorDefinition | IPatternValidatorDefinition | IPresentValidatorDefinition | IRequiredValidatorDefinition); export interface IValidationError { definition: U; input: T; } export interface IHasLength { length: number; }