import type { FormControlStatus } from './abstract-control'; import type { AsyncValidatorFn, ValidatorFn } from './validators'; import { AbstractControl } from './abstract-control'; export interface FormControlState { value: V; disabled?: boolean; } export declare class FormControl extends AbstractControl { readonly defaultState: FormControlState | V; protected _value: V; protected _status: FormControlStatus; constructor(formState: FormControlState | V, validators?: ValidatorFn | ValidatorFn[] | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null); getError(errorCode: string): any; hasError(errorCode: string): boolean; setValue(value: V, onlySelf?: boolean): void; patchValue(value: V, onlySelf?: boolean): void; reset(formState?: V | FormControlState, onlySelf?: boolean): void; protected _updateValue(): void; protected _forEachChild(): void; protected _anyControls(): boolean; protected _allControlsDisabled(): boolean; protected _isFormStateObject(formState: FormControlState | V): formState is FormControlState; private _applyFormState; }