import { QueueJobOptions } from 'src/integrations/message-queue/drivers/interfaces/job-options.interface'; import { MessageQueues } from 'src/integrations/message-queue/message-queue.constants'; export interface MessageQueueDriver { add( queueName: MessageQueues, data: T, options?: QueueJobOptions, ): Promise; work( queueName: string, handler: ({ data, id }: { data: T; id: string }) => Promise | void, ); stop?(): Promise; register?(queueName: MessageQueues): void; }