import type { ValidationFn, AsyncValidationFn, ControlUpdateOptions, ObjectKey } from "../types"; import { AbstractControl } from "./abstract-conrol"; export declare class FormGroup extends AbstractControl { private readonly _controls; constructor(controls: FormGroupControls, validators?: ValidationFn[], asyncValidators?: AsyncValidationFn[]); get valid(): boolean; get invalid(): boolean; get controls(): FormGroupControls; get value(): { [K in keyof FormGroupControls]: unknown; }; get(path: string | string[]): TResult | null; addControl(name: ObjectKey, control: AbstractControl, { updateParentValidity, runAsyncValidators, updateParentDirty }?: ControlUpdateOptions): void; addControls(controls: { [key: ObjectKey]: AbstractControl; }, { updateParentValidity, runAsyncValidators, updateParentDirty }?: ControlUpdateOptions): void; setControl(name: ObjectKey, control: AbstractControl, { updateParentValidity, runAsyncValidators, updateParentDirty }?: ControlUpdateOptions): void; setControls(controls: { [key: ObjectKey]: AbstractControl; }, { updateParentValidity, runAsyncValidators, updateParentDirty }?: ControlUpdateOptions): void; setValue(value: { [key: ObjectKey]: unknown; }, { updateParentValidity, runAsyncValidators, updateParentDirty }?: ControlUpdateOptions): void; removeControl(name: string, { updateParentValidity, runAsyncValidators, updateParentDirty }?: ControlUpdateOptions): void; at(name: ObjectKey): AbstractControl; contains(controlName: ObjectKey): boolean; reset(): void; private _setUpControls; private _updateDynamicProperties; private _updateCurrentControls; private _isExistsControl; }