import { AbstractControlOptions, FormGroup } from '@angular/forms'; import { BaseFormModels, Indexing } from "../types/types"; import { AbstractFormModel } from "./abstract-form-model"; export type ModelsRecord = Indexing; export type FormGroupControls = { [key in keyof Controls]: Controls[key]['control']; }; export type FormGroupControl = FormGroup>; export interface BaseFormGroupModelParams { models: Models; disabled?: boolean; controlOptions?: AbstractControlOptions; } export declare class BaseFormGroupModel extends AbstractFormModel { readonly control: FormGroupControl; readonly models: { [key in keyof Models]: Models[key]; }; constructor({ models, disabled, controlOptions, }: BaseFormGroupModelParams); setControl(name: K, model: Models[K], emitEvent?: boolean): void; removeControl(name: keyof Models, emitEvent?: boolean): void; addControl(name: K, model: Models[K], emitEvent?: boolean): void; registerControl(name: K, model: Models[K]): Models[K]; private registerModel; private initializeControls; }