import schedule from 'node-schedule'; import Redlock from 'redlock'; import type { ScheduledJobRun } from '../../balena-model.js'; export type { Job } from 'node-schedule'; export type JobFunction = (fireDate: Date, lock: Redlock.Lock, scheduledJobRun: ScheduledJobRun['Read']) => PromiseLike; interface LockSettings { ttl?: number; } declare module 'ioredis' { interface RedisCommander { eval(args: Array, callback?: (err: Error | null, res: any) => void): any; } } export declare const jobIds: string[]; export declare const scheduleJob: (jobId: string, rule: schedule.RecurrenceRule | schedule.RecurrenceSpecDateRange | schedule.RecurrenceSpecObjLit | Date | string, jobFunction: JobFunction, lockOptions?: LockSettings) => schedule.Job;