import { JobStorage } from "../storage/base-storage";
import { JobQueue } from "./job-queue";
import { Job } from "../types";
export declare class MongoDBJobQueue extends JobQueue {
    private readonly mongodbStorage;
    constructor(storage: JobStorage, options?: {
        concurrency?: number;
        maxRetries?: number;
        name?: string;
        logging?: boolean;
        processingInterval?: number;
        intelligentPolling?: boolean;
        minInterval?: number;
        maxInterval?: number;
        maxEmptyPolls?: number;
        loadFactor?: number;
        standAlone?: boolean;
    });
    /**
     * Process jobs with distributed locking
     * Override the parent's protected method
     */
    protected processNextBatch(): Promise<void>;
    /**
     * Process a single job with locking
     * This is called by the parent class
     */
    protected processJob(job: Job): Promise<void>;
}
//# sourceMappingURL=mongodb-job-queue.d.ts.map