import type { ValidationNames, ValidationResult, ValidationRule, Validator } from '../types/index'; export declare abstract class BaseValidator implements Validator { protected rules: ValidationRule[]; isRequired: boolean; protected fieldName: string; protected isPartOfShape: boolean; name: ValidationNames; required(): this; optional(): this; setIsPartOfShape(isPartOfShape: boolean): this; setFieldName(fieldName: string): this; protected addRule(rule: ValidationRule): this; validate(value: T): ValidationResult; getRules(): ValidationRule[]; test(value: T): boolean; }