///
import type { Queue as BullQueue, Job as BullJob } from 'bull';
import { Queue, Job, QueueProvider } from './queue';
import type { JobId, JobStatus, JobStatusClean, JobCounts, JobLogs, QueueConfig, GlobalJobCompletionCb } from './queue';
import type { Maybe } from './typings/utils';
export declare class BullJobAdapter extends Job {
private _job;
private _queue;
constructor(_job: BullJob, _queue: Queue);
get rawJob(): BullJob;
get queue(): Queue;
get id(): JobId;
get name(): string;
get data(): any;
get returnvalue(): unknown;
get progress(): string;
get attemptsMade(): number;
get failedReason(): Maybe;
get stacktrace(): string[];
get opts(): any;
get processedOn(): Maybe;
get finishedOn(): Maybe;
get timestamp(): Maybe;
getState(): Promise;
moveToCompleted(returnValue?: string): Promise;
moveToFailed(reason: Error): Promise;
promote(): Promise;
discard(): Promise;
update(data: any): Promise;
retry(): Promise;
remove(): Promise;
log(row: string): Promise;
}
export declare class BullAdapter extends Queue {
private _queue;
private _id;
private _globalJobCompletionCb?;
constructor(_queue: BullQueue, config?: QueueConfig);
get provider(): QueueProvider;
get client(): Promise;
get id(): string;
get name(): string;
get token(): string;
set onGlobalJobCompletion(callback: GlobalJobCompletionCb);
toKey(queueType: string): string;
count(): Promise;
add(name: string, data: any, opts?: any): Promise;
pause(isLocal?: boolean, doNotWaitActive?: boolean): Promise;
resume(isLocal?: boolean): Promise;
clean(grace: number, status?: JobStatusClean, limit?: number): Promise;
empty(): Promise;
isPaused(): Promise;
getJob(id: JobId): Promise>;
jobFromJSON(json: any, jobId: JobId): Job;
getJobs(status: JobStatus, start?: number, end?: number, asc?: boolean): Promise;
getJobCounts(): Promise;
getActiveCount(): Promise;
getCompletedCount(): Promise;
getFailedCount(): Promise;
getDelayedCount(): Promise;
getWaitingCount(): Promise;
getPausedCount(): Promise;
removeJobs(pattern: string): Promise;
getJobLogs(jobId: JobId): Promise;
close(doNotWaitJobs?: boolean): Promise;
private normalizeJob;
}