import { IValidationBuilder } from './models/validation-builder.model'; import { MemberFunc, STRING_TYPES, NUMBER_TYPES, DATE_TYPES, BOOLEAN_TYPES, ARRAY_TYPES, OBJECT_TYPES } from '../types'; import { IStringValidatorBuilder } from './models/validators/string-validator-builder.model'; import { INumberValidatorBuilder } from './models/validators/number-validator-builder.model'; import { IDateValidatorBuilder } from './models/validators/date-validator-builder.model'; import { IBooleanValidatorBuilder } from './models/validators/boolean-validator-builder.model'; import { IArrayValidatorBuilder } from './models/validators/array-validator-builder.model'; import { IMemberValidatorBuilder } from './models/validators/member-validator-builder.model'; import { AbstractFluentValidator } from '../abstract-fluent-validator'; export declare abstract class AbstractValidationBuilder implements IValidationBuilder { private _validator; constructor(validator: AbstractFluentValidator); get validator(): AbstractFluentValidator; abstract getNewInstance(validator: AbstractFluentValidator): AbstractValidationBuilder; 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 | undefined>): IValidationBuilder; ruleForObject(member: string, accessor: MemberFunc): IValidationBuilder; }