import type { Config } from "./config.js"; import type { RedisClient } from "./redis.js"; import type { BulkPayload, JobClassLike, JobPayload } from "./types.js"; export declare class Client { private readonly config; private readonly redisClient?; constructor({ config, redis, }?: { config?: Config; redis?: RedisClient; }); private getRedis; middleware(fn?: (chain: Config["clientMiddleware"]) => void): Config["clientMiddleware"]; push(item: JobPayload): Promise; pushBulk(items: BulkPayload): Promise<(string | null)[]>; cancel(jid: string): Promise; static push(item: JobPayload): Promise; static pushBulk(items: BulkPayload): Promise<(string | null)[]>; static enqueue(klass: JobClassLike, ...args: TArgs): Promise; static enqueueTo(queue: string, klass: JobClassLike, ...args: TArgs): Promise; static enqueueToIn(queue: string, interval: number, klass: JobClassLike, ...args: TArgs): Promise; static enqueueIn(interval: number, klass: JobClassLike, ...args: TArgs): Promise; static via(redis: RedisClient, fn: () => Promise): Promise; /** * Returns the number of jobs currently in the local queue. * Jobs are queued locally when Redis is unavailable. */ static localQueueSize(): number; /** * Clears the local queue. Primarily for testing. */ static clearLocalQueue(): void; private rawPush; private pushToRedis; private drainLocalQueue; private queueLocally; } //# sourceMappingURL=client.d.ts.map