import type { ToolResultChunk } from '../../../agent/types/message-types.js'; import { formatToolLine, formatToolResultLine } from './tool-lane-format.js'; import type { DiffPayload } from '../../../utils/diff.js'; import { type ToolEntry, type TextEntry, type Entry } from './tool-lane-render.js'; import type { ToolLaneFlash } from './tool-lane-flash.js'; export type { ToolEntry, TextEntry, Entry }; export declare const MAX_OVERLAY_ROOTS = 6; export declare class ToolLane { private entries; private order; private agentIdStack; private lastElapsedSecond; private activeTools; flash: ToolLaneFlash | null; addStart(toolUseId: string, toolName: string, toolInput: string): void; addStartWithAgentContext(toolUseId: string, toolName: string, toolInput: string, agentContext: string | undefined, maxWidth?: number): void; mergeAgentLabel(parentToolUseId: string, label: string, maxWidth?: number): boolean; setAgentContext(toolUseId: string, agentContext: string | undefined): void; setAgentResultSummary(toolUseId: string, summary: string): void; setThinkingTail(toolUseId: string, tail: string | undefined): void; setBashOutputTail(toolUseId: string, tail: string | undefined): void; addResult(toolUseId: string, chunk: ToolResultChunk): void; notifyToolActivity(activeCount: number, activeToolUseIds: string[]): void; addDiff(toolUseId: string, diff: DiffPayload): void; addPreviewDiff(toolUseId: string, diff: DiffPayload): void; upsertTextChild(toolUseId: string, agentContext: string, text: string): void; removeTextChildrenUnder(agentContext: string): void; checkElapsedDisplayNeedsUpdate(): boolean; hasPending(): boolean; hasEntry(id: string): boolean; findLastSkillEntryId(): string | undefined; peekTrailingCompletedRootToolName(): string | undefined; getOverlay(): string; private ancestorDepthOf; flushSource(parentId: string, homeDir?: string): string[]; flushCompletedRoots(homeDir?: string): string[]; flush(homeDir?: string): string[]; } export { formatToolLine, formatToolResultLine };