import type { ChartAst, StateAst } from "@surprisal/hyperchart/internal/core/types"; import type { DurableLogRecord } from "@surprisal/hyperchart/internal/core/durable_events"; export type PendingView = { path: string; phase: "running" | "validating" | "rejected"; sinceMs?: number; rejections?: number; reason?: string; }; export type TreeRow = { depth: number; label: string; kind: StateAst["kind"]; status: "idle" | "active" | "final"; instanceOf?: string; }; export type GraphNodeStatus = "pending" | "running" | "validating" | "rejected" | "completed" | "failed" | "final"; export type GraphRow = { depth: number; path: string; label: string; kind: StateAst["kind"] | "instance"; status: GraphNodeStatus; action?: string; event?: string; sinceMs?: number; durationMs?: number; rejections?: number; reason?: string; instanceOf?: string; }; export type RunView = { chartId: string; branchId: string; runnerBranchIds?: string[]; branches: Array<{ branchId: string; headSeqId: number | null; }>; /** Full immutable record-tree size, including sibling history outside the selected ancestry. */ recordCount: number; final: boolean; failedTerminal: boolean; args?: Record; rows: TreeRow[]; graph: GraphRow[]; pending: PendingView[]; results: Array<{ state: string; output: unknown; }>; tail: Array<{ seqId: number; timestamp: number; text: string; }>; result?: unknown; }; export declare function buildRunView(ast: ChartAst, log: readonly DurableLogRecord[], now: number, branch?: { branchId?: string; runnerBranchIds?: string[]; branches?: Array<{ branchId: string; headSeqId: number | null; }>; recordCount?: number; }): RunView; //# sourceMappingURL=run_view.d.ts.map