import type { IDomainEventBus } from '../../application/ports/event-bus.port'; import type { GatePhase } from '../gate-evidence'; export declare enum PhaseState { PENDING = "PENDING", IN_PROGRESS = "IN_PROGRESS", GATE_PENDING = "GATE_PENDING", APPROVED = "APPROVED", REJECTED = "REJECTED", ARCHIVED = "ARCHIVED" } export declare const PHASE_TRANSITIONS: Readonly>; export interface PhaseTransitionContext { projectId: string; phase: GatePhase; startedBy?: string; correlationId?: string; } export declare class PhaseStateMachine { private readonly eventBus?; constructor(eventBus?: IDomainEventBus | undefined); transition(from: PhaseState, to: PhaseState, ctx?: PhaseTransitionContext): true; canTransition(from: PhaseState, to: PhaseState): boolean; allowedTransitions(from: PhaseState): readonly PhaseState[]; }