import { EventBusTypes, InternalModuleDeclaration, Logger, MedusaContainer, Message, Subscriber } from "@medusajs/framework/types"; import { AbstractEventBusModuleService } from "@medusajs/framework/utils"; import { EventEmitter } from "events"; type InjectedDependencies = { logger: Logger; }; type StagingQueueType = Map; export default class LocalEventBusService extends AbstractEventBusModuleService { protected readonly logger_: Logger; protected readonly eventEmitter_: EventEmitter; protected groupedEventsMap_: StagingQueueType; constructor({ logger }: MedusaContainer & InjectedDependencies, moduleOptions: {} | undefined, moduleDeclaration: InternalModuleDeclaration); private logProcessingEvent; /** * Accept an event name and some options * * @param eventsData * @param options The options can include `internal` which will prevent the event from being logged */ emit(eventsData: Message | Message[], options?: Record): Promise; private groupOrEmitEvent; private groupEvent; releaseGroupedEvents(eventGroupId: string): Promise; clearGroupedEvents(eventGroupId: string, { eventNames }?: { eventNames?: string[]; }): Promise; subscribe(event: string | symbol, subscriber: Subscriber, context?: EventBusTypes.SubscriberContext): this; unsubscribe(event: string | symbol, subscriber: Subscriber, context: EventBusTypes.SubscriberContext): this; } export {}; //# sourceMappingURL=event-bus-local.d.ts.map