import { AfterViewInit, ChangeDetectorRef, OnChanges, ViewContainerRef } from "@angular/core";
import { FormGroupDirective } from "@angular/forms";
import { DynamicInputComponent } from "./dynamic-input/dynamic-input.component";
import { DynamicSelectComponent } from "./dynamic-select/dynamic-select.component";
import { DynamicRadioComponent } from "./dynamic-radio/dynamic-radio.component";
import { DynamicCheckboxsComponent } from "./dynamic-checkboxs/dynamic-checkboxs.component";
import { DynamicFormTypes } from "../../_helpers/dynamic-form-type.enum";
import { DynamicTextareaComponent } from "./dynamic-textarea/dynamic-textarea.component";
import { DynamicSliderComponent } from "./dynamic-slider/dynamic-slider.component";
import { DynamicDateComponent } from "./dynamic-date/dynamic-date.component";
import * as i0 from "@angular/core";
export declare class DynamicFieldComponent implements AfterViewInit, OnChanges {
    private formgroupDirective;
    private cd;
    supportedDynamicComponents: ({
        name: DynamicFormTypes;
        component: typeof DynamicInputComponent;
    } | {
        name: DynamicFormTypes;
        component: typeof DynamicTextareaComponent;
    } | {
        name: DynamicFormTypes;
        component: typeof DynamicSelectComponent;
    } | {
        name: DynamicFormTypes;
        component: typeof DynamicRadioComponent;
    } | {
        name: DynamicFormTypes;
        component: typeof DynamicDateComponent;
    } | {
        name: DynamicFormTypes;
        component: typeof DynamicCheckboxsComponent;
    } | {
        name: DynamicFormTypes;
        component: typeof DynamicSliderComponent;
    })[];
    dynamicInputContainer: ViewContainerRef;
    field: any;
    formName: any;
    constructor(formgroupDirective: FormGroupDirective, cd: ChangeDetectorRef);
    ngOnChanges(): void;
    ngAfterViewInit(): void;
    private registerDynamicField;
    getComponentByType(type: string): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFieldComponent, "app-field-input", never, { "field": "field"; }, {}, never, never, false, never>;
}
