/** * Stream display manager for real-time Claude/Codex output. * * Handles text, thinking, tool use/result events and renders them * to the terminal with appropriate formatting and spinners. */ import type { StreamCallback } from '../types/provider.js'; /** Progress information for stream display */ type ProgressMaxSteps = number | 'infinite'; export interface ProgressInfo { /** Current iteration (1-indexed) */ iteration: number; /** Maximum steps allowed */ maxSteps: ProgressMaxSteps; /** Current step index within the workflow (0-indexed) */ stepIndex: number; /** Total number of steps in the workflow */ totalSteps: number; } /** Stream display manager for real-time Claude output */ export declare class StreamDisplay { private agentName; private quiet; private progressInfo?; private lastToolUse; private currentToolInputPreview; private toolOutputBuffer; private toolOutputPrinted; private textBuffer; private thinkingBuffer; private isFirstText; private isFirstThinking; private toolSpinner; private spinnerFrames; private spinnerFrame; constructor(agentName: string, quiet: boolean, progressInfo?: ProgressInfo | undefined); /** * Build progress prefix string for display. * Format: `(iteration/maxSteps) step stepIndex/totalSteps` * Example: `(3/10) step 2/4` */ private buildProgressPrefix; showInit(model: string): void; private startToolSpinner; private stopToolSpinner; showToolUse(tool: string, input: Record): void; showToolOutput(output: string, tool?: string): void; showToolResult(content: string, isError: boolean): void; showThinking(thinking: string): void; flushThinking(): void; showText(text: string): void; flushText(): void; flush(): void; showResult(success: boolean, error?: string): void; reset(): void; createHandler(): StreamCallback; private formatToolInput; private formatToolPreview; private ensureToolOutputHeader; private printToolOutputLines; } export {}; //# sourceMappingURL=StreamDisplay.d.ts.map