import type { CronDef } from "./cron-def.js"; import { type BaseFinding, type ValidationResult } from "../util/validation.js"; /** * v1.3.2 §8 — static validation of a user cron definition. Pure (no fs): * the caller supplies `promptExists` + `reservedIds` so this stays testable. * Finding shape mirrors the other managers ({code, message, field}); the * accumulation is the shared §9.1 `Findings` collector. */ export interface CronFinding extends BaseFinding { id?: string; } export type ScheduleValidationResult = ValidationResult; export interface ValidateScheduleOptions { /** Does the backing `crons/.md` prompt exist? */ promptExists?: (id: string) => boolean; /** Ids already taken (built-in crons + other defs) — collision = error. */ reservedIds?: ReadonlySet; } export declare function validateCronDef(def: CronDef, opts?: ValidateScheduleOptions): ScheduleValidationResult;