import type { IncrementalMarkdownParser, MarkdownDocument, MarkdownParseOptions } from './types.js'; type RawBlock = { type: 'paragraph'; start: number; lines: string[]; } | { type: 'heading'; start: number; level: 1 | 2 | 3 | 4 | 5 | 6; text: string; } | { type: 'fence'; start: number; lang?: string; code: string[]; open: boolean; } | { type: 'list'; start: number; ordered: boolean; startNumber?: number; lines: string[]; } | { type: 'quote'; start: number; lines: string[]; } | { type: 'table'; start: number; header: string; delimiter: string; rows: string[]; } | { type: 'hr'; start: number; }; interface ScanResult { blocks: RawBlock[]; refs: Map; /** * Label of a reference definition sitting on the final, not-yet-terminated * line — its URL may still be streaming in. Such a definition is used for * display (one-shot parity if the stream really ends here) but never for * settling, and it does not count as "arrived" for invalidation purposes. */ unstableRefLabel?: string; } export declare function scanBlocks(text: string): ScanResult; export declare function parseMarkdown(text: string, options?: MarkdownParseOptions): MarkdownDocument; export declare function createIncrementalParser(options?: MarkdownParseOptions): IncrementalMarkdownParser; export {};