import { DocumentReader, ReadResult } from '../core/ir/adapters.js'; import { FlowDoc } from '../core/ir/flow.js'; import { PoNode } from '../core/po-helpers.js'; /** * Read a PresentationML (`.pptx`) package into a {@link FlowDoc}: one page per * slide at the deck size (`p:sldSz`), each slide's shapes placed as absolutely * positioned floating elements. Hidden slides (`p:sld@show="0"`) are omitted (and * recorded as a {@link Loss}, mirroring PowerPoint/LibreOffice export). Resolves * each slide's layout → master → theme chain into the placeholder cascade, colour * resolver and inherited background, plus its images and charts. * * @param bytes The raw `.pptx` (OPC ZIP) bytes. * @returns The {@link FlowDoc} plus the accumulated loss report. */ export declare function readPptx(bytes: Uint8Array): ReadResult; /** * Parse an OOXML part's bytes into preserve-order {@link PoNode} roots with the * module's shared, presentation-tuned {@link XMLParser} (attributes kept, values * not coerced, whitespace preserved). Shared with the slide-style resolvers. * * ISO/IEC 29500-3 §10.2 — `mc:AlternateContent` is resolved first, to the * `mc:Fallback` a reader takes when it implements none of the namespaces the * choices require. A deck writes the same shape twice this way, and reading the * CHOICE means reading markup written for someone else: tdf143222's whole slide * is an embedded worksheet whose preview picture lives in the fallback alone, * and the choice — written for VML — carries no picture at all, so the slide * came out blank. 82 of the corpus's decks carry such a block. */ export declare function parseXml(data: Uint8Array): Array; /** * The {@link DocumentReader} for PresentationML (`.pptx`): sniffs the OPC ZIP for * `ppt/presentation.xml` (a cheap substring probe, no unzip) and reads it via * {@link readPptx}. */ export declare const pptxReader: DocumentReader;