import { Task, TaskStatus } from "../../models/task.cjs"; //#region src/services/invariants/index.d.ts /** * Collapse a malformed snapshot to one row per task id. * * Normal writes replace tasks in place, but older or externally edited stores * can contain both a stale and a current copy. Prefer the copy with the newest * ISO update timestamp; equal or missing timestamps use the later array entry. * The winning row keeps the id's original position so repair does not reorder * an otherwise stable task list. */ export declare function canonicalizeTasks(tasks: readonly Task[]): Task[]; /** * Allowed forward transitions per source status. * * `failed` is recoverable (a delegation can be retried) so it may return to * pending or in_progress. `completed` is one-way to `deleted`; `deleted` is a * terminal tombstone. */ export declare const VALID_TRANSITIONS: Record>; export declare function isTransitionValid(from: TaskStatus, to: TaskStatus): boolean; //#endregion //# sourceMappingURL=index.d.cts.map