import { UxDynRecursiveModel } from '../../../shared/model/ux-dyn-recursive.model';
export declare class FormMetaDataGeneratorInputs {
    readonly metaData: TUxDynFormModelArray;
}
export declare type TUxDynFormModelArray = Array<TUxDynCoreModel>;
export declare class TUxDynCoreModel {
    fieldType: TFieldTypes;
    layout?: TLayout;
    context?: TFieldContext;
    /**
     * @recursive true
     */
    readonly children?: UxDynRecursiveModel<TUxDynFormModelArray>;
    fieldId?: TUxFieldId;
}
export declare enum TFieldTypes {
    formControl = "formControl",
    formGroup = "formGroup",
    formArray = "formArray",
    container = "container"
}
export interface TLayout {
    class?: string;
}
export interface TNgStyle {
    [key: string]: string;
}
export interface TFieldContext {
    type: string;
    key?: string;
    validators?: TUxDynValidators;
    inputs?: any;
    options?: any;
}
export declare type TUxFieldId = string | number;
export interface TUxDynValidators {
    validatorFn?: Array<TUxDynValidationMetaData>;
    asyncValidatorFn?: Array<TUxDynValidationMetaData>;
}
export declare type TUxDynValidationMetaData = TUxDynValidationMetaDataObject;
export declare class TUxDynValidationMetaDataObject {
    readonly valFnId: string;
    readonly params?: Array<any>;
    readonly severity?: string;
}
