import { EntityEnum, EntityIndexMap, EntityMap, EnumEntityType, EnumToModel, IBaseEntityApiResponse, VirtualEntityEnum } from "../interface/entity.utils.interface"; import { BaseEntityModel } from "./base.entity.model"; export declare function mapToIndex(entityMap: EntityMap): EntityIndexMap; export declare function getEntityIndexMap(data: IBaseEntityApiResponse>, baseEntity: T, reusedConfig?: { existingEntityIndexMap: EntityIndexMap; enumEntities: EntityEnum[]; }): EntityIndexMap; export declare function populateRelationsFor(entityIndexMap: EntityIndexMap, enumEntities: EntityEnum[]): void; export declare const entityEnumToEntityModel: { [E in EntityEnum | VirtualEntityEnum]?: (json: EnumEntityType) => EnumToModel; }; export declare function entityMapToModels(entityMap: EntityMap): void; export declare function parseEntities>(json: IBaseEntityApiResponse, baseEntity: EntityEnum | VirtualEntityEnum, entityMap: EntityMap): EntityMap; export declare function entityMapToEntityIndexMap(entityMap: EntityMap, entityRelationsFor: EntityEnum[]): EntityIndexMap; export declare function parseEntitiesWithoutModels>(json: IBaseEntityApiResponse, baseEntity: EntityEnum | VirtualEntityEnum, entityMap?: EntityMap): EntityMap; export declare function removeEntityById(entityIndexMap: EntityIndexMap, entity: EntityEnum, id: number): void; export declare class EntityModelRelationHelper { private entityMap; private entityModelMap; entityModelIndexMap: EntityIndexMap; constructor(entityMap: EntityMap, init?: boolean); static getClone(entity: EntityModelRelationHelper): EntityModelRelationHelper; private init; private toEntityModelMap; fromEntityToEntityModel(entity: EnumEntityType, entityEnum: T): BaseEntityModel; private toEntityModelIndexMap; populateRelationsByEntityEnums(entityEnums: EntityEnum[]): EntityModelRelationHelper; populateRelationsByEntityEnum(entityEnum: EntityEnum): void; populateRelationsByEntityModel(entityModel: BaseEntityModel): void; addEntityModel(entityModel: BaseEntityModel, config?: { populateRelations?: boolean; }): EntityModelRelationHelper; mergeEntityMap(entityMap: EntityMap, config?: { populateRelations?: boolean; }): EntityModelRelationHelper; private createFor; private _addEntity; addEntity(entity: EnumEntityType, entityEnum: T, config?: { populateRelations?: boolean; }): EntityModelRelationHelper; updateEntityModel(entityModel: BaseEntityModel, config?: { populateRelations?: boolean; }): EntityModelRelationHelper; deleteById(entityEnum: EntityEnum, id: number): EntityModelRelationHelper; getEntityModels(entityEnum: T): EnumToModel[]; getEntityModelsByFilter(entityEnum: T, filter: { key: keyof EnumToModel; value: any; }): EnumToModel[]; private mergeMapFrom; mergeHelperFrom(other: EntityModelRelationHelper, config?: { populateRelations?: boolean; }): EntityModelRelationHelper; }