import React from 'react';
interface TableData {
    headers: string[];
    rows: Record<string, string>[];
    alignments: ('left' | 'center' | 'right')[];
}
interface TableInfo {
    startLine: number;
    endLine: number;
    isComplete: boolean;
    data: TableData | null;
    raw: string;
}
/**
 * Parse a markdown table into structured data
 */
declare function parseMarkdownTable(tableLines: string[]): TableData | null;
/**
 * Find all tables in markdown content with their positions and completeness
 */
declare function findTables(content: string): TableInfo[];
/**
 * Render table using custom Unicode box-drawing
 */
declare function renderTableCustom(data: TableData): string;
type SegmentType = 'text' | 'table' | 'pending-table';
interface ContentSegment {
    type: SegmentType;
    content: string;
    tableData?: TableData;
}
/**
 * Split content into renderable segments (text and tables)
 */
declare function splitContent(content: string, isStreaming: boolean): ContentSegment[];
interface MarkdownRendererProps {
    content: string;
    isStreaming?: boolean;
}
/**
 * Renders markdown content with special handling for tables
 *
 * Features:
 * - Tables are only displayed when complete (during streaming)
 * - Custom Unicode box-drawing for nice table borders
 * - Proper handling of ANSI codes in cell content
 * - Support for alignment (left, center, right)
 */
export declare const MarkdownRenderer: React.NamedExoticComponent<MarkdownRendererProps>;
export { findTables, parseMarkdownTable, renderTableCustom, splitContent };
