import { JobListOptions } from '@subit/common/lib/generated-types'; import { ID, PaginatedList } from '@subit/common/lib/shared-types'; import { Injector } from '../../common/injector'; import { InspectableJobQueueStrategy } from '../../config'; import { Job, JobData } from '../../job-queue'; import { PollingJobQueueStrategy } from '../../job-queue/polling-job-queue-strategy'; /** * @description * A {@link JobQueueStrategy} which uses the configured SQL database to persist jobs in the queue. * This strategy is used by the {@link DefaultJobQueuePlugin}. * * @docsCategory JobQueue */ export declare class SqlJobQueueStrategy extends PollingJobQueueStrategy implements InspectableJobQueueStrategy { private connection; private listQueryBuilder; init(injector: Injector): void; destroy(): void; add = {}>(job: Job): Promise>; next(queueName: string): Promise; private getNextAndSetAsRunning; update(job: Job): Promise; findMany(options?: JobListOptions): Promise>; findOne(id: ID): Promise; findManyById(ids: ID[]): Promise; removeSettledJobs(queueNames?: string[], olderThan?: Date): Promise; private connectionAvailable; private toRecord; private fromRecord; }