/** * Noah — Phase State Machine * * Evaluates phase transition rules against the current temporal state * to determine if a lifecycle phase change should occur. * MVP spec Section 3.3 and 5.1. */ import { LifecyclePhase, type PhaseTransitionRule, type PhaseTransitionTrigger, type PhaseContext } from '../types/lifecycle.js'; import type { ClockUpdateEvent } from '../types/events.js'; import type { TemporalState } from '../types/temporal-state.js'; export interface PhaseTransitionResult { transitioned: boolean; fromPhase: LifecyclePhase; toPhase: LifecyclePhase; trigger: PhaseTransitionTrigger | null; } export declare class PhaseMachine { private readonly rules; constructor(rules: PhaseTransitionRule[]); /** * Evaluate all transition rules and return the first matching transition. * Only one transition fires per evaluation (first match wins). */ evaluate(state: TemporalState, context: PhaseContext, event: ClockUpdateEvent, /** Number of assessments completed while in the current exception phase */ assessmentsSincePhaseEntry: number): PhaseTransitionResult; /** * Check if a specific trigger condition is satisfied. */ private isTriggerSatisfied; /** * Map clock update events to phase transition event types. */ private matchesEventTrigger; } //# sourceMappingURL=phase-machine.d.ts.map