import type { NodeMeta } from '../canvas/types.js'; /** The lifecycle events — the only vocabulary for moving a node's status/intent. * Each maps (in the table below) to a target status and/or intent plus the set * of from-statuses it is legal from. */ export type LifecycleEvent = 'finish' | 'cancel' | 'crash' | 'yield' | 'release' | 'refresh-launch' | 'revive'; /** Enact a lifecycle event on a node: validate the from-status against the * table, then write status+intent in ONE atomic statement (so they can never * disagree). Returns the hydrated node view after the write. * * Throws on an unknown node or an illegal move. The conditional update makes * legality authoritative at SQLite write time rather than at a stale read. */ export declare function transition(nodeId: string, event: LifecycleEvent): NodeMeta;