import { ControlEditionContext } from './control-edition-context'; import { ControlError } from './control-error'; import { ControlOptions, FormControlOptions } from './control-options'; import { FormArray } from './form-array'; import { FormGroup } from './form-group'; import { ControlValidationGuard } from './validation-guard'; import { ControlValidator } from './validators/control-validator'; /** * This is the base class for `FormControl`, `FormGroup`, and `FormArray`. * */ export declare abstract class AbstractControl { readonly validators: ControlValidator[]; htmlElementAccessor: () => HTMLElement | undefined; protected readonly _validationGuard: ControlValidationGuard; protected _parent: FormGroup | FormArray; protected _editionContext: ControlEditionContext; protected _errors: ControlError[]; protected _waiting: boolean; protected _enabled: boolean; protected _readonly: boolean; protected _pristine: boolean; protected _touched: boolean; constructor(validators?: ControlValidator[], options?: ControlOptions | FormControlOptions); abstract get value(): T; abstract set value(value: T); abstract get valid(): boolean; abstract get enabled(): boolean; abstract set enabled(isEnabled: boolean); abstract get waiting(): boolean; abstract set waiting(isWaiting: boolean); abstract get readonly(): boolean; abstract set readonly(isReadonly: boolean); abstract get touched(): boolean; abstract get controls(): AbstractControl[]; abstract getControl(name: string): AbstractControl; abstract get errors(): ControlError[]; abstract set errors(errors: ControlError[]); abstract get errorsDeep(): ControlError[]; get htmlElement(): HTMLElement | undefined; get pristine(): boolean; hasError(): boolean; hasErrorDeep(): boolean; /** * Gets the first error message, if any, of the current control errors. * Children errors are excluded. */ get errorMessage(): string; /** * Gets the first error message, if any, of one of the current control and children control errors. */ get errorMessageDeep(): string; get parent(): FormGroup | FormArray; set parent(parent: FormGroup | FormArray); /** * The submit method reset the edition context and runs all validations in * a downward manner from parents (FormGroup and FormArray) to childs (FormControl). */ submit(): Promise; reset(): void; upwardValueChanged(): void; validate(): void; validateAsync(): Promise; initEdition(): void; endEdition(): void; private _updateErrors; protected _hasAnyControlsInError(): boolean; } //# sourceMappingURL=abstract-control.d.ts.map