import type React from 'react'; import { marked } from 'marked'; type Token = ReturnType[number] & { tokens?: Token[]; items?: Token[]; text?: string; raw?: string; lang?: string; depth?: number; href?: string; title?: string; ordered?: boolean; }; interface HighlightedSpan { text: string; kind?: 'keyword' | 'string' | 'comment' | 'number'; } export declare function highlightCode(code: string, lang?: string): HighlightedSpan[]; export declare function inlineCellText(tokens: Token[] | undefined): string; export declare function renderInlineCell(tokens: Token[] | undefined, keyPrefix: string): React.ReactNode[]; type CellAlign = 'left' | 'right' | 'center' | null; /** CJK-aware display width: East-Asian wide / fullwidth code points (and * most emoji) occupy 2 terminal columns, everything else 1. Iterating with * for..of so astral chars (surrogate pairs) count once. Dependency-free — * matches this file's "lean install" ethos. */ export declare function displayWidth(s: string): number; /** Decide table layout from cleaned cell text. Pure + exported for testing. * 'grid' when the columns fit availWidth, else 'list'. `colWidths` are the * per-column display widths used for padding in grid mode. */ export declare function computeTableLayout(header: string[], rows: string[][], availWidth: number): { mode: 'grid' | 'list'; colWidths: number[]; }; /** Format a GFM table into plain terminal lines. Kept as the pure/plain path * (used by tests and as the basis for the list fallback). The interactive * renderer (renderTable) layers inline styling on top via computeTableLayout. */ export declare function buildTableLines(header: string[], rows: string[][], align: CellAlign[], availWidth: number): { mode: 'grid' | 'list'; lines: string[]; }; /** Render arbitrary markdown source as Ink components. `width` is the * available terminal column count for this block (used to decide table * grid vs. record layout); defaults to the current stdout width. */ export declare function Markdown({ source, width }: { source: string; width?: number; }): JSX.Element; export {}; //# sourceMappingURL=markdown.d.ts.map