import type { IFormValidatorField, IValidator } from './validation';
/**
 * Encapsulates a form field and the validation rules defined for that field.
 *
 * By default a ValidatableField is optional.
 */
export declare class FormValidatorField implements IFormValidatorField {
    name: string;
    label: string;
    constructor(name: string, label: string);
    isSpelAware: boolean;
    isRequired: boolean;
    isRequiredMessage: string;
    validators: IValidator[];
    /** Causes the field to fail validation if the value is undefined, null, or empty string. */
    required(message?: string): FormValidatorField;
    /**
     * Causes the field to pass validation if the value is undefined, null, or empty string.
     * Fields are default by default.
     */
    optional(): FormValidatorField;
    /** Causes the field to pass validation if the value contains SpEL */
    spelAware(isSpelAware?: boolean): FormValidatorField;
    /** Adds additional validators */
    withValidators(...validators: IValidator[]): FormValidatorField;
}
