import type { ArtifactEntry } from '../state/artifacts'; export type RunConvergenceStatus = 'running' | 'waiting_for_user' | 'waiting_for_ci' | 'waiting_for_review' | 'blocked' | 'converged' | 'failed' | 'aborted'; export type RunConvergence = { status: RunConvergenceStatus; reasonCode: string; message: string; blockingArtifacts?: string[]; nextActions: Array<'resume' | 'rerun_gate' | 'override' | 'fix_code' | 'wait' | 'abort'>; }; type StepRecord = { status?: 'not_started' | 'running' | 'done' | 'failed'; startedAt?: string; endedAt?: string; }; type RunMeta = { status?: 'running' | 'failed' | 'success' | 'canceled'; phase?: string; step?: string; }; type LocalGateSummary = { ok?: boolean; blockers?: number; }; type RunSummary = { ci?: 'pending' | 'passing' | 'failing' | 'unknown'; unresolvedReviewCount?: number; blockedReason?: string; }; type RunStateData = Record & { run?: RunMeta; steps?: Record; summary?: RunSummary; localGateSummary?: LocalGateSummary; }; export declare function flattenArtifactsIndex(index?: Record>): ArtifactEntry[]; export declare function deriveRunConvergence(runState: RunStateData, artifacts: ArtifactEntry[]): RunConvergence; export {};