import type { WorkflowDefinitionSnapshot, WorkflowRunState } from "../workflows/types.js"; /** * Renders the workflow DAG as text, mirroring the acpx replay viewer's graph * pane: statuses derive from the steps visible up to the selected step, taken * transitions highlight, switch branches carry case labels, and loop edges * route through a right-hand gutter. */ /** Everything the graph needs; a LoadedRunBundle satisfies this shape. */ export type GraphView = { state: WorkflowRunState; snapshot: WorkflowDefinitionSnapshot | null; }; /** How node cells are drawn: single text lines or bordered boxes. */ export type GraphNodeStyle = "line" | "box"; export type GraphRenderOptions = { nodeStyle?: GraphNodeStyle; }; /** Canonical outer dimensions shared by every full card in this graph. */ export declare function graphCardSize(view: GraphView): { width: number; height: number; }; /** * Render the graph pane. `selectedStepIndex` scrubs the replay position; * pass `steps.length - 1` (or larger) for the live view. */ export declare function renderGraphLines(view: GraphView, selectedStepIndex: number, now?: Date, options?: GraphRenderOptions): string[];