/** * CronScheduler — tick loop over durable CronJob entities. * @module trellis/plugins/cron/scheduler */ import { type CronHandler } from './handlers.js'; import type { CronStatus, CronStore } from './types.js'; export interface CronSchedulerOptions { store: CronStore; tickMs?: number; leaseMs?: number; ownerId?: string; /** Injected clock for tests (epoch ms). */ now?: () => number; } export declare class CronScheduler { private readonly store; private readonly tickMs; private readonly leaseMs; private readonly ownerId; private readonly now; private readonly handlers; private timer; private ticking; private jobCount; constructor(opts: CronSchedulerOptions); registerHandler(id: string, fn: CronHandler): void; start(): void; stop(): void; getStatus(): CronStatus; /** One scheduler pass — used by the interval and by unit tests. */ tick(): Promise; private processJob; private failJob; } //# sourceMappingURL=scheduler.d.ts.map