import { IStringValidatorBuilder } from './validators/string-validator-builder.model'; import { INumberValidatorBuilder } from './validators/number-validator-builder.model'; import { IDateValidatorBuilder } from './validators/date-validator-builder.model'; import { IBooleanValidatorBuilder } from './validators/boolean-validator-builder.model'; import { STRING_TYPES, NUMBER_TYPES, DATE_TYPES, MemberFunc, BOOLEAN_TYPES, OBJECT_TYPES, ARRAY_TYPES } from '../../types'; import { IMemberValidatorBuilder } from './validators/member-validator-builder.model'; import { IArrayValidatorBuilder } from './validators/array-validator-builder.model'; export interface IValidationBuilder { ruleFor(member: string, accessor: MemberFunc): IStringValidatorBuilder; ruleFor(member: string, accessor: MemberFunc): INumberValidatorBuilder; ruleFor(member: string, accessor: MemberFunc): IDateValidatorBuilder; ruleFor(member: string, accessor: MemberFunc): IBooleanValidatorBuilder; ruleFor(member: string, accessor: MemberFunc): IArrayValidatorBuilder; ruleFor(member: string, accessor: MemberFunc): IMemberValidatorBuilder; ruleForEach(member: string, accessor: MemberFunc>): IValidationBuilder; ruleForObject(member: string, accessor: MemberFunc): IValidationBuilder; }