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>;
/**
 * 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>;
}): import("react/jsx-runtime").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, getNextComponentKey: () => number): 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 getNextComponentKey - Function to generate unique React keys
 * @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, getNextComponentKey: () => number, compact?: boolean): Promise<void>;
//# sourceMappingURL=tool-result-display.d.ts.map