import { DataUnit, FieldDescriptor, UserInterface } from '@sankhyalabs/core';
import { IFormConfig } from '@sankhyalabs/ezui/src/utils/form/interfaces';
import { IFieldConfig } from '@sankhyalabs/ezui/src/utils/interfaces/IFieldConfig';
export declare const ID_AVAILABLE_FIELDS = "container-available-fields";
export interface IGuideConfig {
  label: string;
  name?: string;
  visible: boolean;
  order: number;
  isCustom?: boolean;
  isDetail?: boolean;
}
export interface IGroupConfig {
  name?: string;
  fields?: IFieldConfig[];
}
export declare enum SORTABLE_PATH {
  FROM = "from",
  TO = "to"
}
export declare function getFieldsStructure(evt: any, path: string, group: string, tab?: string): IFieldConfig[];
export declare function updateTabInFieldsFromGroupList(guideGroups: IGroupConfig[], updatedName: string): {
  fields: any[];
  name?: string;
}[];
export declare function getValidatedFieldValue(fieldValue: any, dataUnit: DataUnit, fieldName: string): any;
export declare function getEnabledByProperty(attribName: string, propertyName: string, fieldDescriptor: FieldDescriptor): boolean;
export declare function getValueByProperty(property: string, fieldDescriptor: FieldDescriptor, defaultValue: any): any;
export declare function getIconName(userInterface: UserInterface): string;
export declare function buildNewGuideName(guidesList: IGuideConfig[], getMessage: (key: string) => string): string;
export declare function getFieldsToSave(guidesMap: Map<string, IGroupConfig[]>): IFieldConfig[];
export declare function buildGuidesMap(rawFields: IFieldConfig[], tabs: IGuideConfig[], dataUnit: DataUnit, generalTab: string): Map<string, IGroupConfig[]>;
export declare function buildGuides(config: IFormConfig, mainArea: string): IGuideConfig[];
export declare function buildChildrenGuides(dataUnit: DataUnit, initialOrderIndex: number, guidesList: IGuideConfig[]): IGuideConfig[];
