import type { ValidationErrors, ValidationFn, AsyncValidationFn, ControlUpdateOptions } from "../types"; import type { FormArray } from "./form-array"; import type { FormGroup } from "./form-group"; export declare abstract class AbstractControl { private readonly _errors; private readonly _parent; private readonly _validators; private readonly _asyncValidators; private readonly _dirty; private readonly _hasOwnPendingAsyncValidator; private _existingCancelableAsyncValidators; constructor(validators?: ValidationFn[], asyncValidators?: AsyncValidationFn[]); get validators(): ValidationFn[]; get asyncValidators(): AsyncValidationFn[]; get errors(): ValidationErrors; get parent(): FormGroup | FormArray; get dirty(): boolean; get root(): AbstractControl; get pending(): boolean; setValidators(validators: ValidationFn[], updateValidity?: boolean): void; addValidators(validators: ValidationFn[], updateValidity?: boolean): void; removeValidators(validators: ValidationFn[], updateValidity?: boolean): void; clearValidators(updateValidity?: boolean): void; hasValidator(validatorFn: string | ValidationFn): boolean; setAsyncValidators(asyncValidators: AsyncValidationFn[], updateValidity?: boolean): void; addAsyncValidators(asyncValidators: AsyncValidationFn[], updateValidity?: boolean): void; removeAsyncValidators(asyncValidators: AsyncValidationFn[], updateValidity?: boolean): void; clearAsyncValidators(updateValidity?: boolean): void; hasAsyncValidator(asyncValidatorFn: string | AsyncValidationFn): boolean; hasError(errorName: string): boolean; hasErrors(errorNames: string[]): boolean; hasAnyError(errorNames: string[]): boolean; setErrors(errors: ValidationErrors): void; addErrors(errors: ValidationErrors): void; getErrors(errorNames: string[]): ValidationErrors; removeErrors(errorNames: string[]): void; clearErrors(): void; setParent(parent: FormGroup | FormArray | null): void; setDirty(value: boolean, updateParentDirty?: boolean): void; updateValidity({ updateParentValidity, runAsyncValidators }?: ControlUpdateOptions): void; private _runAsyncValidators; private _makeCancelableAsyncValidator; private _cancelExistingAsyncValidator; abstract get(path: string | string[]): TResult | null; abstract get value(): unknown; abstract get valid(): boolean; abstract get invalid(): boolean; abstract setValue(value: unknown, options?: ControlUpdateOptions): void; abstract reset(): void; }