import { BufferedOutput } from './ui-state-manager.js';
export interface ConversationItem {
    type: 'user' | 'assistant' | 'tool-call' | 'tool-result' | 'system' | 'error';
    content: string;
    timestamp: Date;
    metadata?: {
        toolName?: string;
        success?: boolean;
        tokens?: number;
        provider?: string;
        model?: string;
        executionId?: string;
        stream?: 'stdout' | 'stderr';
        isWelcomeHeader?: boolean;
        diffData?: {
            filePath: string;
            oldText: string;
            newText: string;
            lineNumber: number;
            additions: number;
            deletions: number;
        };
    };
}
export declare class ConversationRenderer {
    private conversationBuffer;
    addItem(item: ConversationItem): void;
    updateLastAssistantMessage(content: string): boolean;
    getBuffer(): ConversationItem[];
    clearBuffer(): void;
    processBufferedOutput(): void;
    addBufferedOutput(output: BufferedOutput): void;
    getLastAssistantIndex(): number;
    formatItem(item: ConversationItem): string;
    getDisplayLines(terminalWidth: number): string[];
    private shouldAddSpacing;
    formatMessageContent(content: string): string;
    getConversationPreview(maxLength?: number): string;
    getStats(): {
        messageCount: number;
        userMessageCount: number;
        assistantMessageCount: number;
        toolCallCount: number;
        errorCount: number;
    };
    private formatFileEditDiff;
    exportToMarkdown(): string;
}
export declare const conversationRenderer: ConversationRenderer;
//# sourceMappingURL=conversation-renderer.d.ts.map