Tracks the value and validity state of a collection of FormControl instances, each of which has the same value type.
FormControl
class FormRecord<TControl extends AbstractControl = AbstractControl> extends FormGroup<{ [key: string]: TControl;}> { override registerControl(name: string, control: TControl): TControl; override addControl(name: string, control: TControl, options?: { emitEvent?: boolean | undefined; } | undefined): void; override removeControl(name: string, options?: { emitEvent?: boolean | undefined; } | undefined): void; override setControl(name: string, control: TControl, options?: { emitEvent?: boolean | undefined; } | undefined): void; override contains(controlName: string): boolean; override setValue(value: { [key: string]: ɵValue<TControl>; }, options?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override patchValue(value: { [key: string]: ɵValue<TControl>; }, options?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override reset(value?: { [key: string]: ɵValue<TControl>; } | undefined, options?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override getRawValue(): { [key: string]: ɵRawValue<TControl>; }; override controls: ɵTypedOrUntyped<TControl, TControl, { [key: string]: AbstractControl<any, any>; }>; readonly override value: TValue; override get validator(): ValidatorFn | null; override get asyncValidator(): AsyncValidatorFn | null; override readonly parent: FormGroup<any> | FormArray<any> | null; override readonly status: FormControlStatus; override readonly valid: boolean; override readonly invalid: boolean; override readonly pending: boolean; override readonly disabled: boolean; override readonly enabled: boolean; readonly override errors: ValidationErrors | null; override readonly pristine: boolean; override readonly dirty: boolean; override readonly touched: boolean; override readonly untouched: boolean; readonly override events: Observable<ControlEvent<TValue>>; readonly override valueChanges: Observable<TValue>; readonly override statusChanges: Observable<FormControlStatus>; override readonly updateOn: FormHooks; override setValidators(validators: ValidatorFn | ValidatorFn[] | null): void; override setAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[] | null): void; override addValidators(validators: ValidatorFn | ValidatorFn[]): void; override addAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[]): void; override removeValidators(validators: ValidatorFn | ValidatorFn[]): void; override removeAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[]): void; override hasValidator(validator: ValidatorFn): boolean; override hasAsyncValidator(validator: AsyncValidatorFn): boolean; override clearValidators(): void; override clearAsyncValidators(): void; override markAsTouched(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override markAsTouched(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any> | undefined; } | undefined): void; override markAllAsTouched(opts?: { emitEvent?: boolean | undefined; }): void; override markAsUntouched(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override markAsUntouched(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any> | undefined; }): void; override markAsDirty(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override markAsDirty(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any> | undefined; }): void; override markAsPristine(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override markAsPristine(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any> | undefined; }): void; override markAsPending(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override markAsPending(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any> | undefined; }): void; override disable(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override disable(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any> | undefined; }): void; override enable(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; }): void; override setParent(parent: FormGroup<any> | FormArray<any> | null): void; override updateValueAndValidity(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void; override updateValueAndValidity(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any> | undefined; }): void; override setErrors(errors: ValidationErrors | null, opts?: { emitEvent?: boolean | undefined; } | undefined): void; override setErrors(errors: ValidationErrors | null, opts?: { emitEvent?: boolean | undefined; shouldHaveEmitted?: boolean | undefined; } | undefined): void; override get<P extends string | readonly (string | number)[]>(path: P): AbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>> | null; override get<P extends string | Array<string | number>>(path: P): AbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>> | null; override getError(errorCode: string, path?: string | (string | number)[] | undefined): any; override hasError(errorCode: string, path?: string | (string | number)[] | undefined): boolean; override readonly root: AbstractControl<any, any>;}