import { Context, DAL, FindConfig, IEventBusModuleService, ILinkModule, InternalModuleDeclaration, ModuleJoinerConfig, RestoreReturn, SoftDeleteReturn } from "@medusajs/framework/types"; import { Modules } from "@medusajs/framework/utils"; import { LinkService } from "."; type InjectedDependencies = { baseRepository: DAL.RepositoryService; linkService: LinkService; primaryKey: string | string[]; foreignKey: string; extraFields: string[]; entityName: string; serviceName: string; [Modules.EVENT_BUS]?: IEventBusModuleService; }; export default class LinkModuleService implements ILinkModule { readonly moduleDeclaration: InternalModuleDeclaration; protected baseRepository_: DAL.RepositoryService; protected readonly linkService_: LinkService; protected readonly eventBusModuleService_?: IEventBusModuleService; protected readonly entityName_: string; protected readonly serviceName_: string; protected primaryKey_: string[]; protected foreignKey_: string; protected extraFields_: string[]; constructor({ baseRepository, linkService, primaryKey, foreignKey, extraFields, entityName, serviceName, [Modules.EVENT_BUS]: eventBusModuleService, }: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration); __joinerConfig(): ModuleJoinerConfig; private buildData; private isValidKeyName; private validateFields; retrieve(primaryKeyData: string | string[], foreignKeyData: string, sharedContext?: Context): Promise; list(filters?: Record, config?: FindConfig, sharedContext?: Context): Promise; listAndCount(filters?: Record, config?: FindConfig, sharedContext?: Context): Promise<[unknown[], number]>; create(primaryKeyOrBulkData: string | string[] | [string | string[], string, Record][], foreignKeyData?: string, extraFields?: Record, sharedContext?: Context): Promise; dismiss(primaryKeyOrBulkData: string | string[] | [string | string[], string][], foreignKeyData?: string, sharedContext?: Context): Promise; delete(data: any, sharedContext?: Context): Promise; softDelete(data: any, { returnLinkableKeys }?: SoftDeleteReturn, sharedContext?: Context): Promise | void>; protected softDelete_(data: any[], sharedContext?: Context): Promise<[object[], Record]>; restore(data: any, { returnLinkableKeys }?: RestoreReturn, sharedContext?: Context): Promise | void>; restore_(data: any, sharedContext?: Context): Promise<[object[], Record]>; protected emitEvents_(groupedEvents: any): Promise; } export {}; //# sourceMappingURL=link-module-service.d.ts.map