import { Store } from '@ngrx/store';
import { DynGenericService } from '../../shared/services/dyn-generic.service';
import { FieldContext, UxDynFormArrayParentData, UxDynFormModelArray } from '../../shared/model/ux-dyn-core.model';
import { FormGroup, FormArray } from '@angular/forms';
import { Observable } from 'rxjs';
import { DynFormApi } from '../../shared/services/form-api-service';
import * as i0 from "@angular/core";
export declare class BaseDynConfig implements BaseDynConstructor {
    frameId?: string;
    fieldId?: string;
    globalStore?: Store<any>;
    context?: any;
    genericService?: DynGenericService;
    children?: UxDynFormModelArray;
    parent?: FormGroup | FormArray;
    parentData?: UxDynFormArrayParentData;
    setId?: string;
    metaDataIndex?: string;
    constructor(values: BaseDynConstructor);
}
export interface BaseDynConstructor {
    frameId?: string;
    fieldId?: string;
    globalStore?: Store<any>;
    context?: any;
    genericService?: DynGenericService;
    children?: UxDynFormModelArray;
    parent?: FormGroup | FormArray;
    parentData?: UxDynFormArrayParentData;
    setId?: string;
    metaDataIndex?: string;
}
export declare class BaseDynComponent {
    frameId?: string;
    fieldId?: string;
    setId?: string;
    globalStore?: Store<any>;
    context: FieldContext;
    genericService?: DynGenericService;
    dynFormApi?: DynFormApi;
    childrenConfig?: UxDynFormModelArray;
    parent?: FormGroup | FormArray;
    parentData?: UxDynFormArrayParentData;
    isEditMode: boolean;
    constructor(config: BaseDynConfig);
    getFieldData(key: string): Observable<any>;
    saveFieldData(key: string, val: any): void;
    getDynFormApi(): DynFormApi;
    private setIsEditMode;
    static ɵfac: i0.ɵɵFactoryDef<BaseDynComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<BaseDynComponent, "ux-dyn-base-dyn", never, {}, {}, never, never>;
}
