import { ComponentRef, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { FormField } from './form-field/form-field';
import { DynamicConfig } from './configurations/dynamic-config';
import { Grid } from './configurations/grid/grid';
import { Structure } from './configurations/structure/structure';
import { DynamicFormCacheService } from './services/dynamic-form-cache';
import * as i0 from "@angular/core";
export declare class DynamicFormDirective implements OnInit, OnChanges, OnDestroy {
    private id?;
    private config?;
    private group?;
    private errorMessages?;
    private directiveConfig?;
    set sDynamicForm(context: {
        id?: string;
        config?: FormField | Grid | DynamicConfig | undefined;
        structure?: Structure;
        group?: FormGroup;
        errorMessages?: any;
    });
    component: ComponentRef<any> | null;
    private readonly viewContainerRef;
    dynamicFormCacheService: DynamicFormCacheService;
    ngOnInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    private isField;
    private isStructure;
    private isGrid;
    private get getType();
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicFormDirective, "[sDynamicForm]", never, { "sDynamicForm": { "alias": "sDynamicForm"; "required": false; }; }, {}, never, never, false, never>;
}
