import BeeQueue from "bee-queue"; import Bull from "bull"; import * as BullMQ from "bullmq"; import { Queue as GroupMQQueue } from "groupmq"; export declare const NUM_OF_JOBS = 20; export declare const NUM_OF_SCHEDULERS = 3; export declare const NUM_OF_COMPLETED_JOBS = 7; export declare const NUM_OF_FAILED_JOBS = 13; export declare const NUM_OF_WAITING_CHILDREN_JOBS = 2; export declare const sleep: (t: number) => Promise; type QueueType = "bull" | "bullmq" | "bee" | "groupmq"; export declare const type: QueueType; /** * Which BullMQ major the suite runs against. Vitest aliases the `bullmq` * specifier to the installed 5.x when this is set, so tests that touch APIs * the majors disagree on branch on it. */ export declare const bullmqMajor: 5 | 6; /** * The parts of the raw Redis client the tests reach for. BullMQ 6 hands over a * proxy that forwards anything outside its own interface to ioredis, so both * majors answer all of these. */ type BullMQTestRedisClient = { info: () => Promise; defineCommand: (name: string, definition: { numberOfKeys: number; lua: string; }) => void; set: (key: string, value: string) => Promise; hset: (key: string, ...fieldsAndValues: string[]) => Promise; del: (key: string) => Promise; type: (key: string) => Promise; }; /** * Mirrors the adapter's lookup: BullMQ 6 moved the raw Redis client behind * `getBackend()`, where 5 exposed it as `queue.client`. */ export declare const getBullMQRedisClient: (queue: BullMQ.Queue) => Promise; export declare const supportsFeature: (feature: keyof typeof featureSupport) => boolean; declare const featureSupport: { readonly pause: boolean; readonly resume: boolean; readonly clean: boolean; readonly retry: boolean; readonly promote: boolean; readonly logs: boolean; readonly schedulers: boolean; readonly empty: boolean; }; export declare const initMultipleQueues: (count?: number) => Promise<{ ctx: { queues: ({ displayName: string; queue: Bull.Queue; type: "bull"; } | { displayName: string; queue: BullMQ.Queue; type: "bullmq"; worker?: BullMQ.Worker; } | { displayName: string; queue: BeeQueue; type: "bee"; } | { displayName: string; queue: GroupMQQueue; type: "groupmq"; })[]; }; queues: ({ displayName: string; queue: Bull.Queue; type: "bull"; } | { displayName: string; queue: BullMQ.Queue; type: "bullmq"; worker?: BullMQ.Worker; } | { displayName: string; queue: BeeQueue; type: "bee"; } | { displayName: string; queue: GroupMQQueue; type: "groupmq"; })[]; }>; export declare const expectTRPCError: (fn: () => Promise, code?: "BAD_REQUEST" | "FORBIDDEN" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR") => Promise; export declare const initRedisInstance: () => Promise<{ ctx: { queues: { queue: Bull.Queue; displayName: string; type: "bull"; }[]; }; firstQueue: { queue: Bull.Queue; displayName: string; type: "bull"; }; } | { ctx: { queues: { queue: BullMQ.Queue; displayName: string; type: "bullmq"; worker?: BullMQ.Worker; }[]; }; firstQueue: { queue: BullMQ.Queue; displayName: string; type: "bullmq"; worker?: BullMQ.Worker; }; } | { ctx: { queues: { queue: BeeQueue; displayName: string; type: "bee"; }[]; }; firstQueue: { queue: BeeQueue; displayName: string; type: "bee"; }; } | { ctx: { queues: { queue: GroupMQQueue; displayName: string; type: "groupmq"; }[]; }; firstQueue: { queue: GroupMQQueue; displayName: string; type: "groupmq"; }; }>; export {}; //# sourceMappingURL=test.utils.d.ts.map