import type { CronJob, CronJobCreate, CronJobPatch } from "../types.js"; import type { CronServiceState } from "./state.js"; export declare function assertSupportedJobSpec(job: Pick): void; export declare function findJobOrThrow(state: CronServiceState, id: string): CronJob; export declare function computeJobNextRunAtMs(job: CronJob, nowMs: number): number | undefined; export declare function computeJobPreviousRunAtMs(job: CronJob, nowMs: number): number | undefined; export declare function recordScheduleComputeError(params: { state: CronServiceState; job: CronJob; err: unknown; }): boolean; export declare function recomputeNextRuns(state: CronServiceState): boolean; /** * Maintenance-only version of recomputeNextRuns that handles disabled jobs * and stuck markers, but does NOT recompute nextRunAtMs for enabled jobs * with existing values. Used during timer ticks when no due jobs were found * to prevent silently advancing past-due nextRunAtMs values without execution * (see #13992). */ export declare function recomputeNextRunsForMaintenance(state: CronServiceState, opts?: { recomputeExpired?: boolean; nowMs?: number; }): boolean; export declare function nextWakeAtMs(state: CronServiceState): number | undefined; export declare function createJob(state: CronServiceState, input: CronJobCreate): CronJob; export declare function applyJobPatch(job: CronJob, patch: CronJobPatch, opts?: { defaultAgentId?: string; }): void; export declare function isJobDue(job: CronJob, nowMs: number, opts: { forced: boolean; }): boolean; export declare function resolveJobPayloadTextForMain(job: CronJob): string | undefined;