///
import { IMultiFieldValueConcatConfigEntity, IMultiFieldValueFilterConfigEntity, IMultiFieldValueMergeConfigEntity, IMultiItemEntity, IReduxMultiEntity, MultiFieldValueOrEntitiesIdsT, MultiFieldValueOrEntityIdT, MultiFieldValueT, NotMultiFieldValueT } from '../definition';
import { IEntity } from '../definitions.interface';
/**
* @stable [29.08.2020]
*/
export declare class MultiFieldUtils {
static readonly asMultiItemEditReplacedEntity: (name: string, multiFieldValue: MultiFieldValueT, predicate: (itm: IMultiItemEntity) => boolean, factory: (multiItemEntity: IMultiItemEntity, entity: TEntity) => unknown) => IMultiItemEntity;
static readonly asMultiItemEntity: (name: string, value: unknown, rawData: TEntity, newEntity?: boolean) => IMultiItemEntity;
static readonly buildPhantomEntity: (entity: TEntity, multiFieldValue: MultiFieldValueT) => TEntity;
static readonly concatMultiFieldValue: (cfg: IMultiFieldValueConcatConfigEntity) => IReduxMultiEntity;
static readonly filterMultiFieldValue: (cfg: IMultiFieldValueFilterConfigEntity) => IReduxMultiEntity;
static readonly fromMultiEntity: (initial: IReduxMultiEntity) => IReduxMultiEntity;
static readonly isNotMultiEntity: (value: MultiFieldValueOrEntityIdT) => boolean;
static readonly multiFieldValueAsDefinedEntities: (entity: MultiFieldValueT) => TEntity[];
static readonly multiFieldValueAsEditEntities: (entity: MultiFieldValueT, mappedSourcedItems?: Map) => TEntity[];
static readonly multiFieldValueAsEntities: (entity: MultiFieldValueT) => TEntity[];
static readonly multiFieldValueAsEntitiesIds: (multiFieldValueOrEntitiesIds: MultiFieldValueOrEntitiesIdsT) => TResult[];
static readonly multiFieldValueAsMappedEntities: (multiFieldValue: MultiFieldValueT, mapper: (entity: TEntity, index?: number) => TResult) => TResult[];
static readonly multiFieldValueAsMultiItemAddEntities: (value: MultiFieldValueT, defaultValue?: TEntity[]) => TEntity[];
static readonly multiFieldValueAsMultiItemEditEntities: (value: MultiFieldValueT, defaultValue?: TEntity[]) => IMultiItemEntity[];
static readonly multiFieldValueAsMultiItemRemoveEntities: (value: MultiFieldValueT, defaultValue?: IEntity[]) => IEntity[];
static readonly multiFieldValueAsMultiItemSourceEntities: (value: MultiFieldValueT, defaultValue?: TEntity[]) => TEntity[];
static readonly multiFieldValueAsTrueEntitiesObject: (cfg: IMultiFieldValueMergeConfigEntity) => Record;
static readonly multiFieldValueAsUnknownEntitiesObject: (cfg: IMultiFieldValueMergeConfigEntity) => Record;
static readonly multiItemEntityAsEntity: (multiItemEntity: IMultiItemEntity) => TEntity;
static readonly notMultiFieldValueAsEntities: (value: NotMultiFieldValueT) => TEntity[];
}