import { IEventBusService } from "@medusajs/types"; import { TransactionBaseService } from "@medusajs/medusa"; import { UltimateEntityField } from "../types/ultimate-entity-field"; import { EntityMetadata, EntityTarget, Repository } from "typeorm"; import { UltimateEntityDocument } from "../types/ultimate-entity-document"; import { UltimateEntityRelation } from "../types/ultimate-entity-relation"; import { UltimateEntityObject } from "../types/ultimate-entity-object"; export default class UltimateEntityService extends TransactionBaseService { static LIFE_TIME: import("awilix").LifetimeType; protected readonly eventBusService_: IEventBusService; constructor({ eventBusService }: { eventBusService: IEventBusService; }, options: Record); /** * list all available ultimate entities */ getUltimateEntityMetadataAndTargetFromUltimateEntityId(ultimateEntityId: string): [EntityMetadata, EntityTarget] | undefined; getUltimateEntityRepositoryFromUltimateEntityId(ultimateEntityId: string): Repository | undefined; getUltimateEntityRelationInverseRelationName(ultimateEntityId: string, relationName: string): string; listUltimateEntityRelations(entityMetadata: EntityMetadata, entityTarget: EntityTarget): UltimateEntityRelation[]; listUltimateEntityFields(entityMetadata: EntityMetadata, entityTarget: EntityTarget): UltimateEntityField[]; listUltimateEntities(): UltimateEntityObject[]; retrieveUltimateEntity(ultimateEntityIdd: string): UltimateEntityObject | null; }