import { EntityManager } from 'typeorm'; import { JobEntity } from "../../../scheduler/src"; import { ScheduleOptions } from './types'; export declare abstract class IScheduler { abstract start(): Promise; abstract stop(): Promise; abstract schedule(options: ScheduleOptions): Promise; /** * Changes the scheduled run time of a job, unless it is already running. * @param jobId * @param runAfter * @param manager * @returns */ abstract reschedule(jobId: string, runAfter: Date, manager?: EntityManager): Promise; /** * Retrieves jobs that match the given filters. * @param filters * @returns */ abstract getJobs(filters: { method: string; thread?: string; labels?: string[]; }): Promise; /** * Cancels jobs that match the given filters. Will only apply to `scheduled` jobs, not jobs that were processed or are currently running. * @param filters */ abstract cancelJobs(filters: { method: string; thread?: string; labels?: string[]; }): Promise; }