import { AbstractControl, AsyncValidatorFn, FormControlOptions, UntypedFormControl, ValidationErrors, ValidatorFn } from '@angular/forms';
export type ValidatorFnWithProps = {
    (control: AbstractControl): ValidationErrors | null;
    maxLength?: number;
};
export declare class QdFormControl<T> extends UntypedFormControl implements AbstractControl {
    private maxLength?;
    private validatorList;
    constructor(formState?: T, validatorOrOpts?: ValidatorFnWithProps | ValidatorFnWithProps[] | FormControlOptions | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
    private getValidatorList;
    private setPropsFromValidatorList;
    setValidators(validators: ValidatorFn | ValidatorFn[] | null): void;
    addValidators(validators: ValidatorFn | ValidatorFn[]): void;
    removeValidators(validators: ValidatorFn | ValidatorFn[]): void;
    clearValidators(): void;
    hasMaxLength(): boolean;
    getMaxLengthOrUndefined(): number | undefined;
}
//# sourceMappingURL=form-control.d.ts.map