import { ChatMessage, ContextItem, FileAttachment, ToolCall, ToolDefinition } from './types.js'; export { renderMarkdown, renderInlineMarkdown, type RenderMarkdownOptions } from '../utils/markdown.js'; /** * Whether a tool call's renderer should currently be shown: once the call is complete, * or immediately (while still parsing/executing) if the tool opted into `renderOnStart`. */ export declare function shouldShowToolRenderer(toolCall: ToolCall, toolDefinition?: ToolDefinition): boolean; /** * Whether a tool call should be treated as settled for activity indicators (thinking * indicator, tool-call summary spinner): either genuinely finished, or already showing * its own renderer to the user, which makes a redundant "running" spinner misleading. */ export declare function isToolCallSettled(toolCall: ToolCall, toolDefinition?: ToolDefinition): boolean; /** * Generates a unique ID using UUID v4 */ export declare function generateId(): string; /** * Downloads content as a file with specified MIME type */ export declare function downloadFile(content: string, filename: string, mimeType?: string): void; /** * Converts file attachments to context items */ export declare function fileAttachmentsToContextItems(completedAttachments: FileAttachment[], pendingAttachments: FileAttachment[]): ContextItem[]; /** * Formats a single tool call as indented text lines for a chat export. */ export declare function formatToolCallForExport(toolCall: ToolCall): string; /** * Formats a list of chat messages into a plain-text transcript. Tool call * details are only included when `includeToolCalls` is enabled. When a message * retains its interleaved `children`, text and tool calls are emitted in the * exact order they occurred; otherwise it falls back to the flat content plus a * trailing tool call block. */ export declare function formatChatTranscript(messages: ChatMessage[], { includeToolCalls }?: { includeToolCalls?: boolean | undefined; }): string; /** * Builds a timestamped filename for an exported chat transcript, optionally * prefixed with a slugified agent name. */ export declare function createChatExportFilename(agentName?: string): string;