import { FormGroup } from '@angular/forms'; /** * Abstract model, that contains the following features: Load model from Reactive Form, Load FormGroup from Model. */ export declare abstract class ReactiveModel { /** * Keys, that must be excepted from the FormGroup. * @default [] */ protected excepts: string[]; /** * Excepts from the abstract class. */ private readonly alwaysExcepts; /** * Determines if all of the given keys are required (validation). * @default true */ protected allRequired: boolean; /** * Required keys. This keys will be populated with Validators.required. * @default [] */ protected required: any[]; /** * Returns the FormGroup object with Validatiors. * @param excepts You can manually add exceptions for different forms. * @default [] * @returns FormGroupObject */ getFormGroup(excepts?: string[]): FormGroup; /** * Returns the CUSTOM FormGroup object with Validatiors. * @param keys Here, you can add the keys, with you want to work. * @param exceptKeys The determines, if the keys are except keys, or keeping keys. * @default false * @returns FormGroup */ buildForm(keys: string[], exceptKeys?: boolean): FormGroup; /** * This function loads the data from the FormGroup into the model. * @param form The FormGroup, where the data is. * @param excepts The given keys will be excepted. * @default [] * @returns FormGroup */ loadFromFormGroup(form: FormGroup, excepts?: string[]): void; }