import type { IArrayItemValidator, IFormValidator, IFormValidatorField } from './validation';
export declare class FormValidator implements IFormValidator {
    private values;
    constructor(values: any);
    private fields;
    private isSpelAwareDefault;
    /**
     * Defines a new form field to validate
     *
     * @param name the name of the field in the Formik Form
     * @param label (optional) the label of this field.
     * If no label is provided, it will be inferred based on the name.
     */
    field(name: string, label?: string): IFormValidatorField;
    /**
     * Makes this FormValidator default to being spel-aware or not
     *
     * When true, all fields in this FormValidator will default to allowing spel values to pass validation.
     * Individual fields may override this default by calling field().spelAware()
     */
    spelAware(isSpelAware?: boolean): FormValidator;
    private getFieldValidators;
    /**
     * This runs validation on all the ValidatableField(s) in this FormValidator.
     *
     * It aggregate all the field validation errors into an object compatible with Formik Errors.
     * Each field error is stored in the resulting object using the field's 'name' as a path.
     */
    validateForm(): any;
    arrayForEach(iteratee: IArrayItemValidator): any;
}
