/** * MarkdownRenderer - Render markdown text to styled terminal output * * Converts streaming markdown text to formatted terminal output with: * - Headers (# ## ###) * - Code blocks (```) * - Inline code (`code`) * - Bold (**text**) * - Italic (*text*) * - Lists (- item, 1. item) * - Links ([text](url)) * - Blockquotes (> text) * * @module MarkdownRenderer */ export interface MarkdownRenderOptions { /** Width for wrapping text (default: terminal width or 80) */ maxWidth?: number; /** Enable syntax highlighting in code blocks */ syntaxHighlight?: boolean; /** Indentation for text blocks (default: 2 spaces) */ indent?: string; /** Use dynamic terminal width (default: true) */ dynamicWidth?: boolean; } /** * Stateful markdown renderer for streaming text */ export declare class MarkdownRenderer { private theme; private options; private inCodeBlock; private codeBlockLanguage; private buffer; constructor(options?: MarkdownRenderOptions); /** * Get current rendering width (terminal width or configured max) */ private getCurrentWidth; /** * Process streaming text chunk and return formatted output */ processChunk(chunk: string): string; /** * Flush any remaining buffered content */ flush(): string; /** * Format a single line of markdown */ private formatLine; /** * Format inline markdown elements */ private formatInline; /** * Format a line inside a code block */ private formatCodeLine; /** * Apply basic syntax highlighting to code */ private highlightCode; /** * Wrap text at word boundaries * Note: This strips ANSI codes for width calculation but preserves them in output */ private wrapText; /** * Reset renderer state */ reset(): void; } //# sourceMappingURL=MarkdownRenderer.d.ts.map