/**
 * BullMQ Backend — Production-grade task scheduling via Redis.
 *
 * - Cron tasks → BullMQ repeatable jobs with cron pattern
 * - Interval tasks → BullMQ repeatable jobs with `every` option
 * - One-shot tasks → BullMQ delayed jobs
 * - Survives process restarts (Redis-persisted)
 */
import { type Task, type TaskBackend, type TaskExecutorFn, type TaskManagerConfig } from "../../types/index.js";
export declare class BullMQBackend implements TaskBackend {
    readonly name = "bullmq";
    private queue;
    private worker;
    private executors;
    private config;
    constructor(config: TaskManagerConfig);
    initialize(): Promise<void>;
    shutdown(): Promise<void>;
    schedule(task: Task, executor: TaskExecutorFn): Promise<void>;
    cancel(taskId: string): Promise<void>;
    pause(taskId: string): Promise<void>;
    resume(taskId: string): Promise<void>;
    isHealthy(): Promise<boolean>;
    /**
     * Returns a connection options object for BullMQ / ioredis.
     * When a URL is provided we parse it fully, preserving TLS (`rediss://`),
     * ACL username, password, db index, and any query-string parameters so
     * nothing is silently dropped.
     */
    private getConnectionConfig;
    private ensureInitialized;
    private getQueue;
}
