import { IAbstractControl } from './i-abstract-control'; import { AbstractControl } from '@angular/forms'; export interface IFormGroup extends IAbstractControl { controls: { [key in keyof T]: IAbstractControl; }; addControl(name: Extract, control: AbstractControl | IAbstractControl, options?: { emitEvent?: boolean; }): void; contains(controlName: keyof T): boolean; getRawValue(): T; patchValue(value: Partial, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void; registerControl(name: Extract, control: AbstractControl | IAbstractControl): AbstractControl; removeControl(name: keyof T, options?: { emitEvent?: boolean; }): void; reset(value?: T, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void; setControl(name: Extract, control: AbstractControl | IAbstractControl, options?: { emitEvent?: boolean; }): void; setValue(value: T, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void; controlsError?: { [key: string]: any; }; submitted?: boolean; }