import { BulkJobOptions, Job, JobsOptions, QueueOptions, WorkerOptions } from "bullmq"; import { RedisOptions } from "ioredis"; export type JobData = { eventName: string; data: T; completedSubscriberIds?: string[] | undefined; }; export type Options = BulkJobOptions & { groupedEventsTTL?: number; internal?: boolean; }; export type BullJob = { data: JobData; opts: Job["opts"] & Options; } & Job; export type EmitOptions = JobsOptions; export type EventBusRedisModuleOptions = { /** * Queue name for the event bus */ queueName?: string; /** * Options for BullMQ Queue instance * @see https://api.docs.bullmq.io/interfaces/v5.QueueOptions.html */ queueOptions?: Omit; /** * Options for BullMQ Worker instance * @see https://api.docs.bullmq.io/interfaces/v5.WorkerOptions.html */ workerOptions?: Omit; /** * Redis connection string */ redisUrl?: string; /** * Redis client options */ redisOptions?: RedisOptions; /** * Global options passed to all `EventBusService.emit` in the core as well as your own emitters. The options are forwarded to Bull's `Queue.add` method. * * The global options can be overridden by passing options to `EventBusService.emit` directly. * * Example * ```js * { * removeOnComplete: { age: 10 }, * } * ``` * * @see https://api.docs.bullmq.io/interfaces/BaseJobOptions.html */ jobOptions?: EmitOptions; }; declare module "@medusajs/types" { interface ModuleOptions { "@medusajs/event-bus-redis": EventBusRedisModuleOptions; "@medusajs/medusa/event-bus-redis": EventBusRedisModuleOptions; } } //# sourceMappingURL=index.d.ts.map