import type { DocumentWindowingOptions } from './work-document-windowing'; import type { WorkDocumentSectionLayout } from './work-types'; export declare const LARGE_SIMPLE_DOCX_MINIMUM_LOGICAL_BLOCKS = 20000; export interface LargeSimpleDocxParseOptions { minimumLogicalBlocks?: number; windowing?: Partial; } export interface LargeSimpleDocxStreamResult { layout: WorkDocumentSectionLayout; logicalBlockCount: number; paragraphCount: number; tableRowCount: number; } export interface LargeSimpleDocxStreamSink { paragraph: (text: string) => void; tableEnd: () => void; tableRow: (row: LargeSimpleDocxTableRow) => void; tableStart: () => void; } export interface LargeSimpleDocxTableRow { cellParagraphCounts: readonly number[]; texts: readonly string[]; } /** * Parses logical blocks into a sink so a Worker can stream bounded batches * instead of structured-cloning one complete 100,000-row object graph. */ export declare function streamLargeSimpleDocxDocumentXml(source: string, options: LargeSimpleDocxParseOptions, sink: LargeSimpleDocxStreamSink): LargeSimpleDocxStreamResult | null; export declare function simpleDocxXmlIsEligibleForLargeImport(source: string, minimumLogicalBlocks?: number): boolean;