import type { DB } from '../../data/db/index.js'; import type { EnqueueOptions } from './queue.js'; export interface Enqueuer { enqueue(db: DB, opts: EnqueueOptions): Promise; } export interface ScheduleSpec { readonly name: string; readonly cron: string; readonly timezone?: string; readonly payload?: unknown; } export interface ScheduleInfo { readonly name: string; readonly cronExpression: string; readonly timezone: string; readonly payload: unknown; readonly lastRunAt: Date | null; readonly nextRunAt: Date; } export interface SchedulerOptions { readonly checkIntervalMs?: number; } export interface Scheduler { schedule(db: DB, spec: ScheduleSpec): Promise; unschedule(db: DB, name: string): Promise; listSchedules(db: DB): Promise; start(db: DB, opts?: SchedulerOptions): void; stop(): void; } export declare function createScheduler(enqueuer: Enqueuer, jobsTableQ: string): Scheduler; //# sourceMappingURL=scheduler.d.ts.map