import { JobSchedulerJson, RepeatBaseOptions, RepeatOptions } from '../interfaces'; import { JobSchedulerTemplateOptions } from '../types'; import { Job } from './job'; import { QueueBase } from './queue-base'; import { RedisConnection } from './redis-connection'; export declare class JobScheduler extends QueueBase { private repeatStrategy; constructor(name: string, opts: RepeatBaseOptions, Connection?: typeof RedisConnection); upsertJobScheduler(jobSchedulerId: string, repeatOpts: Omit, jobName: N, jobData: T, opts: JobSchedulerTemplateOptions, { override, producerId }: { override: boolean; producerId?: string; }): Promise | undefined>; private getNextJobOpts; removeJobScheduler(jobSchedulerId: string): Promise; private getSchedulerData; private transformSchedulerData; private keyToData; getScheduler(id: string): Promise | undefined>; private getTemplateFromJSON; getJobSchedulers(start?: number, end?: number, asc?: boolean): Promise[]>; getSchedulersCount(): Promise; private getSchedulerNextJobId; } export declare const defaultRepeatStrategy: (millis: number, opts: RepeatOptions) => number | undefined;