import { type Mode, type Lifecycle } from '../canvas/index.js'; /** The two-axis persona state the injector keys on. */ export interface Persona { mode: Mode; lifecycle: Lifecycle; } export interface PersonaDriftResult { from: Persona; to: Persona; /** The built transition guidance to inject for `to`. */ guidance: string; } /** Build the injected transition prompt for a `from → to` persona change. * Concatenates the relevant section per changed axis (both when both changed). * Pure read of the node's roadmap/memory for the base→orchestrator case. */ export declare function transitionGuidance(nodeId: string, from: Persona, to: Persona): string; /** Compare a node's live {mode,lifecycle} against its `persona_ack` (the last * state it was given guidance for). Returns the transition + built guidance * when they differ, else null. Does NOT mutate — the caller delivers the * guidance, then `commitPersonaAck`s the new state. An unset `persona_ack` * (legacy node) defaults to the current persona, so it reads as no drift and * never fabricates spurious guidance. */ export declare function personaDrift(nodeId: string): PersonaDriftResult | null; /** Commit the persona state the node has now been given guidance for. */ export declare function commitPersonaAck(nodeId: string, to: Persona): void;