import type { Theme } from "@earendil-works/pi-coding-agent"; import type { WorkflowDefinitionSnapshot, WorkflowRunState, WorkflowUpdateRecord } 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 WidgetTheme = Pick; export type WidgetView = { lines: string[]; /** The clamped first visible node row. */ scroll: number; /** Largest useful scroll value; 0 when the whole list fits. */ maxScroll: number; }; /** * Compact live-progress view for the in-pi widget. It uses one line per node, * follows the active node by default, and never returns a line wider than the * width supplied by Pi's component renderer. */ export declare function buildWidgetView(state: WorkflowRunState, snapshot: WorkflowDefinitionSnapshot, now?: Date, scroll?: number | null, held?: boolean, width?: number, theme?: WidgetTheme, updateHistory?: WorkflowUpdateRecord[], actionHint?: string): WidgetView; /** Compact line view following the active node. */ export declare function buildWidgetLines(state: WorkflowRunState, snapshot: WorkflowDefinitionSnapshot, now?: Date): string[];