import { AgentProjectionRenderBlock } from './request.cjs'; interface NodeStreamEvent { event: "node_stream"; run_id: string; node_id: string | null; dispatch_id?: string; item_index?: number; kind: "chunk" | "reasoning" | "phase" | "tool" | "warning" | "record_update" | "resource_changed" | "render_block" | "media" | "context_analysis"; delta: string; stream_seq: number; ts: string; chunks_received: number; chars_streamed: number; frame_id?: string | null; frame_index?: number; frame_count?: number; block_shadowed?: boolean; } interface WorkflowNodeStreamEvent { run_id: string; node_id?: string | null; kind: NodeStreamEvent["kind"]; delta: string; stream_seq: number; ts: string; chunks_received: number; chars_streamed: number; frame_id?: string | null; frame_index?: number; frame_count?: number; block_shadowed?: boolean; } interface WorkflowProjectionLimits { maxOpenFrameSets: number; maxFramesPerBlock: number; maxBytesPerBlock: number; } declare const DEFAULT_WORKFLOW_PROJECTION_LIMITS: Readonly; interface WorkflowRenderFrameSet { frameCount: number; slices: Record; byteLength: number; } type WorkflowRenderBlockIssueCode = "invalid_frame_metadata" | "frame_count_mismatch" | "open_frame_limit_exceeded" | "frame_limit_exceeded" | "byte_limit_exceeded" | "malformed_json" | "invalid_render_block"; interface WorkflowRenderBlockIssue { code: WorkflowRenderBlockIssueCode; frameId: string | null; streamSeq: number; message: string; } interface WorkflowNodeProjection { runId: string; nodeId: string; answer: string; reasoning: string; blockShadowed: boolean; renderBlocks: Record; renderBlockOrder: string[]; openFrames: Record; limits: WorkflowProjectionLimits; lastRenderBlockIssue: WorkflowRenderBlockIssue | null; chunksReceived: number; charsStreamed: number; lastStreamingTs: string | null; lastPhase: string | null; lastTool: string | null; lastWarning: string | null; lastTransportSeq: number; } declare function createWorkflowNodeProjection(input: { runId: string; nodeId: string; limits?: Partial; }): WorkflowNodeProjection; declare function projectWorkflowNodeEvent(current: WorkflowNodeProjection, event: WorkflowNodeStreamEvent): WorkflowNodeProjection; export { DEFAULT_WORKFLOW_PROJECTION_LIMITS, createWorkflowNodeProjection, projectWorkflowNodeEvent }; export type { WorkflowNodeProjection, WorkflowNodeStreamEvent, WorkflowProjectionLimits, WorkflowRenderBlockIssue, WorkflowRenderBlockIssueCode, WorkflowRenderFrameSet };