import { BullBoardRequest, FormatterField, JobCleanStatus, JobCounts, JobStatus, QueueAdapterOptions, QueueJob, QueueJobOptions, QueueType, Status } from '../../typings/app'; export declare abstract class BaseAdapter { readonly readOnlyMode: boolean; readonly allowRetries: boolean; readonly allowCompletedRetries: boolean; readonly prefix: string; readonly delimiter: string; readonly description: string; readonly displayName: string; readonly type: QueueType; readonly externalJobUrl: QueueAdapterOptions['externalJobUrl']; private formatters; private _visibilityGuard; protected constructor(type: QueueType, options?: Partial); getDescription(): string; getDisplayName(): string; setFormatter(field: T, formatter: (data: any) => T extends 'name' ? string : any): void; format(field: FormatterField, data: any, defaultValue?: any): any; setVisibilityGuard(guard: (request: BullBoardRequest) => Promise | boolean): void; isVisible(request: BullBoardRequest): boolean | Promise; abstract clean(queueStatus: JobCleanStatus, graceTimeMs: number): Promise; abstract addJob(name: string, data: any, options: QueueJobOptions): Promise; abstract getJob(id: string): Promise; abstract getJobCounts(): Promise; abstract getJobs(jobStatuses: JobStatus[], start?: number, end?: number): Promise; abstract getJobLogs(id: string): Promise; abstract getName(): string; abstract getRedisInfo(): Promise; abstract isPaused(): Promise; abstract pause(): Promise; abstract resume(): Promise; abstract empty(): Promise; abstract obliterate(): Promise; abstract promoteAll(): Promise; abstract removeJobScheduler(id: string): Promise; abstract getStatuses(): Status[]; abstract getJobStatuses(): JobStatus[]; abstract getGlobalConcurrency(): Promise; abstract setGlobalConcurrency(concurrency: number): Promise; }