import type { WorkflowDefinitionSnapshot, WorkflowRunState } from "../workflows/types.js"; export declare function nodeGlyph(state: WorkflowRunState, nodeId: string): string; /** Node ids in a stable display order: definition order from the snapshot. */ export declare function displayNodeIds(snapshot: WorkflowDefinitionSnapshot): string[]; export type WidgetView = { lines: string[]; /** The clamped first visible graph row; feed back in to scroll relatively. */ scroll: number; /** Largest useful scroll value; 0 when the whole graph fits. */ maxScroll: number; }; /** * Live-progress view for the in-pi widget: a header plus the same boxed * graph the standalone viewer draws. When the graph is taller than pi's * widget budget, a window is shown with ↑/↓ overflow markers — centered on * the active node by default, or at `scroll` when the user scrolled * manually. Pure so it can be tested without a TUI. */ export declare function buildWidgetView(state: WorkflowRunState, snapshot: WorkflowDefinitionSnapshot, now?: Date, scroll?: number | null, held?: boolean): WidgetView; /** Back-compatible line view following the active node. */ export declare function buildWidgetLines(state: WorkflowRunState, snapshot: WorkflowDefinitionSnapshot, now?: Date): string[];