import { AbstractControl, FormArray, FormGroup } from '@angular/forms';
import { CaseField } from '../../../domain/definition/case-field.model';
import * as i0 from "@angular/core";
type FormContainer = FormGroup | FormArray;
export declare abstract class AbstractFormFieldComponent {
    caseField: CaseField;
    formGroup: FormGroup;
    parent?: FormContainer;
    idPrefix: string;
    id(): string;
    isTranslatable(field: CaseField): boolean;
    protected registerControl<T extends AbstractControl>(control: T, replace?: boolean): AbstractControl;
    protected addValidators(caseField: CaseField, control: AbstractControl): void;
    private addControlToParent;
    private addControlToFormArray;
    private addControlToFormGroup;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractFormFieldComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractFormFieldComponent, never, never, { "caseField": { "alias": "caseField"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; "idPrefix": { "alias": "idPrefix"; "required": false; }; }, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=abstract-form-field.component.d.ts.map