import { AbstractControlOptions, AsyncValidatorFn, FormControl, ValidatorFn } from '@angular/forms';
export declare class ClassValidatorFormControl<T = any> extends FormControl<T | any> {
    private formGroupClassValue;
    private name;
    /**
     * Creates a new `ClassValidatorFormControl` instance.
     *
     * @param formState Initializes the control with an initial value,
     * or an object that defines the initial value and disabled state.
     *
     * @param validatorOrOpts A synchronous validator function, or an array of
     * such functions, or an `AbstractControlOptions` object that contains validation functions
     * and a validation trigger.
     *
     * @param asyncValidator A single async validator or array of async validator functions
     *
     */
    constructor(formState?: any, validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
    /**
     * @internal
     */
    setNameAndFormGroupClassValue(name: string, value: any): void;
    /**
     * Sets the synchronous validators that are active on this control as well as resetting the dynamic `class-validator`.  Calling
     * this overwrites any existing sync validators.
     *
     * When you add or remove a validator at run time, you must call
     * `updateValueAndValidity()` for the new validation to take effect.
     *
     */
    setValidatorsWithDynamicValidation(newValidator: ValidatorFn | ValidatorFn[] | AbstractControlOptions | undefined): void;
    private composeValidators;
    private readonly dynamicValidator;
}
//# sourceMappingURL=class-validator-form-control.d.ts.map