import { type MutableRefObject } from 'react';
import type { AgentChipData } from '../AgentChip/AgentChip';
import type { ChatMessage } from '../types/ChatMessage';
import type { TeamToolCallSummary, TransitiveToolCall } from '../utils/collectTeamToolCallSummary';
import type { AgentProfileData } from '../utils/loadAgentProfile';
import type { TeamToolResult } from '../utils/toolCallParsing/TeamToolResult';
/**
 * Tool-call snapshot rendered by the modal.
 *
 * @private function of `ChatToolCallModal`
 */
type ToolCallModalToolCall = NonNullable<ChatMessage['toolCalls']>[number];
/**
 * Export target used by the advanced tool-call report controls.
 *
 * @private function of `ChatToolCallModal`
 */
type ToolCallReportDestination = 'clipboard' | 'file';
/**
 * Inputs required to coordinate `<ChatToolCallModal/>` state.
 *
 * @private function of `useChatToolCallModalState`
 */
type UseChatToolCallModalStateProps = {
    readonly isOpen: boolean;
    readonly toolCall: ToolCallModalToolCall | null;
    /**
     * Stable identity of the selected tool call.
     */
    readonly toolCallIdentity?: string | null;
    readonly onClose: () => void;
    readonly toolTitles?: Record<string, string>;
    readonly teamAgentProfiles?: Record<string, AgentChipData>;
};
/**
 * State and callbacks consumed by `<ChatToolCallModal/>`.
 *
 * @private function of `useChatToolCallModalState`
 */
type UseChatToolCallModalStateResult = {
    readonly clearSelectedTeamToolCall: () => void;
    readonly exportAdvancedToolCallReport: (destination: ToolCallReportDestination) => Promise<void>;
    readonly focusedToolCall: ToolCallModalToolCall | null;
    readonly isAdvancedView: boolean;
    readonly modalDialogRef: MutableRefObject<HTMLDivElement | null>;
    readonly openAdvancedView: () => void;
    readonly selectTeamToolCall: (toolCall: TransitiveToolCall) => void;
    readonly selectedTeamToolCall: TransitiveToolCall | null;
    readonly teamProfiles: Record<string, AgentProfileData>;
    readonly teamResult: TeamToolResult | null;
    readonly teamToolCallSummary: TeamToolCallSummary;
    readonly toggleViewMode: () => void;
    readonly toolCallDate: Date | null;
};
/**
 * Coordinates derived data, modal lifecycle, and advanced-export actions for `<ChatToolCallModal/>`.
 *
 * @private function of `ChatToolCallModal`
 */
export declare function useChatToolCallModalState({ isOpen, toolCall, toolCallIdentity, onClose, toolTitles, teamAgentProfiles, }: UseChatToolCallModalStateProps): UseChatToolCallModalStateResult;
export {};
