/**
 * Queue Module Exports
 *
 * Zentrale Exports für das BullMQ Queue-System.
 */

// Queue Service
export {
  QUEUE_NAMES,
  type QueueName,
  getQueue,
  getQueueEvents,
  getAllQueues,
  closeAllQueues,
  isQueueAvailable,
  getQueuesStatus,
  type QueueStatus,
  defaultJobOptions,
  getQueueRedisConnection,
} from './queue-service'

// Email Job
export {
  type EmailJobData,
  type EmailJobResult,
  enqueueEmail,
  enqueueDelayedEmail,
  enqueueEmailBatch,
  isEmailJobPending,
  getEmailJobStatus,
} from './jobs/email-job'

// PDF Job
export {
  type PdfJobData,
  type PdfJobResult,
  enqueuePdf,
  enqueueDelayedPdf,
  enqueuePdfBatch,
  isPdfJobPending,
  getPdfJobStatus,
  getPdfJobResult,
} from './jobs/pdf-job'
