import type { AssistantMessage } from "@earendil-works/pi-ai"; /** * Extract text from assistant message. */ export declare function extractTextFromMessage(message: AssistantMessage): string; /** * Extract the model's reasoning (thinking) text from an assistant message. * Returns "" when there is none (or it was redacted to an empty block). */ export declare function extractThinkingFromMessage(message: AssistantMessage): string; /** * Check if assistant message contains tool calls (more turns will follow). */ export declare function hasToolCalls(message: AssistantMessage): boolean; /** * Format a single tool-call summary line for the remote user. * Wraps the tool name in backticks so Matrix renders it as inline code, * preserving snake_case readability. */ export declare function formatToolCall(name: string, args: Record | undefined): string; /** * Format tool call summaries for the remote user. */ export declare function formatToolCalls(message: AssistantMessage): string; /** * Extract text from a tool result (AgentToolResult-shaped, or a plain string). */ export declare function extractToolResultText(result: any): string; /** * Format a tool's output, shown (truncated) under its call line. * Returns "" when there's nothing to show and it wasn't an error. */ export declare function formatToolResult(result: any, isError: boolean): string; /** * Truncate string to max length with ellipsis. */ export declare function truncate(str: string, maxLen: number): string; /** * Split long messages into chunks, breaking at newlines when possible. */ export declare function splitMessage(text: string, maxLen: number): string[]; //# sourceMappingURL=formatting.d.ts.map