import React from 'react';
import type { ToolManager } from '../tools/tool-manager.js';
import type { ToolCall, ToolResult } from '../types/index.js';
/**
 * Tools that should always show expanded (full formatter) output,
 * even when compact display mode is enabled.
 */
export declare const ALWAYS_EXPANDED_TOOLS: Set<string>;
/**
 * Task tools that should render in the live area (updating in-place)
 * instead of appending to the static chat queue each time.
 */
export declare const LIVE_TASK_TOOLS: Set<string>;
/**
 * Live display component for running compact tool counts.
 * Shows accumulated counts during execution (e.g. "⚒ Read 7 files").
 * Rendered in the live area (not Static) so it updates in-place.
 */
export declare function LiveCompactCounts({ counts }: {
    counts: Record<string, number>;
}): React.JSX.Element;
/**
 * Flush accumulated compact counts to the static chat queue.
 * Called when the conversation loop finishes to persist the summary.
 */
export declare function displayCompactCountsSummary(counts: Record<string, number>, addToChatQueue: (component: React.ReactNode) => void, options?: {
    indent?: boolean;
}): void;
/**
 * Display tool result with proper formatting
 * Extracted to eliminate duplication between useChatHandler and useToolHandler
 *
 * @param toolCall - The tool call that was executed
 * @param result - The result from tool execution
 * @param toolManager - The tool manager instance (for formatters)
 * @param addToChatQueue - Function to add components to chat queue
 * @param compact - When true, show one-liner instead of full formatter output
 */
export declare function displayToolResult(toolCall: ToolCall, result: ToolResult, toolManager: ToolManager | null, addToChatQueue: (component: React.ReactNode) => void, compact?: boolean): Promise<void>;
//# sourceMappingURL=tool-result-display.d.ts.map