import { Color } from '../../../utils/color/Color';
import type { WithTake } from '../../../utils/take/interfaces/ITakeChain';
import type { AgentChipData } from '../AgentChip/AgentChip';
import type { ChatMessage } from '../types/ChatMessage';
import type { ChatParticipant } from '../types/ChatParticipant';
import type { CitationLabelResolver } from '../types/CitationLabelResolver';
/**
 * Props for the tool call details modal.
 *
 * @private component of `<Chat/>`
 */
export type ChatToolCallModalProps = {
    isOpen: boolean;
    toolCall: NonNullable<ChatMessage['toolCalls']>[number] | null;
    mode?: 'LIGHT' | 'DARK';
    /**
     * Stable identity of the selected tool call.
     *
     * Used so live streamed snapshots do not reset the current modal view.
     */
    toolCallIdentity?: string | null;
    onClose: () => void;
    toolTitles?: Record<string, string>;
    resolveCitationLabel?: CitationLabelResolver;
    agentParticipant?: ChatParticipant;
    buttonColor: WithTake<Color>;
    /**
     * Optional cached team agent metadata keyed by TEAM tool name.
     */
    teamAgentProfiles?: Record<string, AgentChipData>;
    /**
     * Optional localized labels for the tool call modal UI elements.
     */
    chatUiTranslations?: import('./ChatProps').ChatUiTranslations;
    /**
     * Optional BCP-47 locale string used to format time labels in the modal.
     * When omitted the browser/OS default locale is used.
     */
    locale?: string;
    /**
     * Optional list of tools that were available to the model during the turn that produced this tool call.
     *
     * When provided, the advanced view includes an "Available tools" payload section so developers can
     * inspect what capabilities the model had access to at the exact moment of the request.
     */
    availableTools?: ChatMessage['availableTools'];
};
/**
 * Modal that renders rich tool call details for chat chiplets.
 *
 * @private component of `<Chat/>`
 */
export declare function ChatToolCallModal(props: ChatToolCallModalProps): import("react/jsx-runtime").JSX.Element | null;
