(): ValidationRule;
required(): ValidationRule
;
optional(): ValidationRule
;
many(): ValidationRule
, A[], M>;
of(this: ValidationRule, validationRule: ValidationRule): ValidationRule
, C[], M>;
test(...validationRules: Array>): ValidationRule;
}
declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
declare type ParameterOfValidationRule = V extends ValidationRule ? P : never;
declare type ParameterOfCombinedValidationRule = {
[K in keyof O]: ParameterOfValidationRule;
};
declare type MetaOfValidationRule = V extends ValidationRule ? M : never;
declare type MetaOfCombinedValidationRule = UnionToIntersection<({
[K in keyof O]: MetaOfValidationRule;
})[keyof O]> & any[];
declare type ErrorOfValidationRule = V extends ValidationRule ? E : never;
declare type ValueOfValidationRule = V extends ValidationRule ? A : never;
declare type ValidatedOfCombinedValidationRule = {
[K in keyof O]: Validated, ValueOfValidationRule>;
};
export {};