import { type SignatureProvider } from "../signature_provider.js"; export type TransitionState = "PREPARED" | "MIGRATING" | "SHADOW_VALIDATED" | "ENFORCE_SWITCHING" | "COMPLETED" | "FAILED"; export interface StateChange { from: TransitionState; to: TransitionState; at: number; by: string; reason?: string; } export interface MigrationTransitionRecord { schema_version: 1; transition_id: string; project_root: string; task_ids: string[]; cutoff: number; state: TransitionState; migration_run_ids: string[]; affected_requirement_ids: string[]; previous_enforce_state: boolean; shadow_results?: { task_id: string; deep_before: string; deep_after: string; }[]; created_at: number; updated_at: number; state_changes: StateChange[]; hmac?: string; } export declare class MigrationTransitionStore { private readonly projectRoot; private readonly provider; constructor(projectRoot: string, provider?: SignatureProvider); private filePath; save(record: MigrationTransitionRecord): Promise; read(id: string): Promise; listAll(): Promise; transitionState(id: string, from: TransitionState, to: TransitionState, by: string, reason?: string): Promise; }