import type { ToolCall } from '../types/tools.js'; import type { ContentPart } from '../providers/interface.js'; /** * Represents a single message as stored in ConversationManager. * Mirrors the internal Message union type. */ export interface ExportMessage { role: 'user' | 'assistant' | 'system' | 'tool'; content: string | ContentPart[]; toolCalls?: ToolCall[] | undefined; callId?: string | undefined; toolName?: string | undefined; reasoningContent?: string | undefined; reasoningSummary?: string | undefined; usage?: { inputTokens: number; outputTokens: number; cacheReadTokens?: number | undefined; cacheWriteTokens?: number | undefined; }; cancelled?: boolean | undefined; } export interface ExportMetadata { model?: string | undefined; provider?: string | undefined; sessionId?: string | undefined; title?: string | undefined; } /** * exportToMarkdown - Convert a conversation to a clean Markdown string. * * Format: * - Header with session metadata (model, provider, date, session ID) * - Each message as a section with role prefix * - Code blocks preserved * - Tool calls formatted as `
` collapsible blocks * - Tool results formatted as `
` collapsible blocks * - Token usage summary at the end */ export declare function exportToMarkdown(messages: ExportMessage[], metadata?: ExportMetadata): string; /** Extract plain text from a string or ContentPart array. */ export declare function extractText(content: string | ContentPart[]): string; //# sourceMappingURL=markdown.d.ts.map