import { Type } from '@angular/core'; export interface IDynamicFieldOptions { value?: T; key?: string; label?: string; required?: boolean; order?: number; width?: string; type?: string; dirty?: boolean; disabled?: boolean; icon?: IDynamicFieldIcon; validators?: ((AbstractControl: any) => any)[]; control_type?: string; error_message?: string; hide?: boolean; refs?: string[]; options?: any[]; cmp?: Type | string; flex?: boolean; readonly?: boolean; no_label?: boolean; no_status?: boolean; no_edit?: boolean; edit_only?: boolean; attributes?: { name: string; value: string; }[]; match?: string; metadata?: { [name: string]: any; }; children?: IDynamicFieldOptions[]; format?: (value: T) => string; action?: (value: T) => Promise; } export interface IDynamicFieldIcon { type: 'image' | 'img' | 'icon'; class: string; value: string; src: string; } export declare class DynamicField { static COMPONENTS: { [name: string]: Type; }; value: T; key: string; label: string; icon: IDynamicFieldIcon; required: boolean; order: number; width: string; type: string; hide: boolean; dirty: boolean; disabled: boolean; options: any[]; refs: string[]; control_type: string; validators: ((AbstractControl: any) => any)[]; error_message: string; children: IDynamicFieldOptions[]; cmp: Type; flex: boolean; readonly: boolean; no_label: boolean; no_status: boolean; no_edit: boolean; edit_only: boolean; attributes: { name: string; value: string; }[]; match: string; metadata: { [name: string]: any; }; format: (value: T) => string; action: (value: T) => Promise; constructor(options?: IDynamicFieldOptions); static registerCustom(name: string, cmp: Type): void; } export declare class StringValueField extends DynamicField { } export declare class NumberValueField extends DynamicField { } export declare class ArrayValueField extends DynamicField { }