/** * flashQ - High-performance Job Queue (BullMQ-compatible) * * @example * ```typescript * import { Queue, Worker } from 'flashq'; * * // Add jobs * const queue = new Queue('emails'); * await queue.add('send', { to: 'user@example.com' }); * * // Process jobs (auto-starts) * const worker = new Worker('emails', async (job) => { * await sendEmail(job.data); * return { sent: true }; * }); * ``` * * @packageDocumentation */ export { Queue } from './queue'; export type { QueueOptions, JobOptions, JobReference } from './queue'; export { Worker } from './worker'; export type { BullMQWorkerOptions, WorkerEvents, TypedWorkerEmitter } from './worker'; export { FlashQ, FlashQ as default } from './client'; export { MAX_BATCH_SIZE, MAX_JOB_DATA_SIZE } from './client/methods/core'; export { validateQueueName, validateJobDataSize, mapJobToPayload } from './client/connection'; export type { JobPayload } from './client/connection'; export * as Constants from './constants'; export { EventSubscriber } from './events'; export { FlashQError, ConnectionError, AuthenticationError, TimeoutError, ValidationError, ServerError, JobNotFoundError, QueueNotFoundError, DuplicateJobError, QueuePausedError, RateLimitError, ConcurrencyLimitError, BatchError, Errors, } from './errors'; export { withRetry, retryable, isRetryable, RetryPresets } from './utils/retry'; export type { RetryOptions } from './utils/retry'; export { Logger, createLogger, getLogger, setGlobalLogger } from './utils/logger'; export type { LogLevel, LoggerOptions, LogEntry, LogHandler } from './utils/logger'; export { callHook, callErrorHook, createHookContext, getDuration } from './hooks'; export type { ClientHooks, WorkerHooks, HookContext, PushHookContext, PullHookContext, AckHookContext, FailHookContext, ProcessHookContext, BatchPushHookContext, BatchPullHookContext, ConnectionHookContext, } from './hooks'; export type { Job, JobState, PushOptions, WorkerOptions, ClientOptions, RetryConfig, BatchPushResult, } from './types'; //# sourceMappingURL=index.d.ts.map