import { PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxHandoutMaster, PptxHeaderFooter, PptxHandler, PptxNotesMaster, PptxSaveFormat, PptxSection, PptxSlide, PptxSlideMaster, PptxSlideSize, PptxPresentationProperties, PptxCustomShow, PptxTagCollection } from 'pptx-viewer-core'; import { DeckSaveIntent, TemplateElementMap } from 'pptx-viewer-shared'; export interface EditorSnapshot { slides: PptxSlide[]; templateElementsBySlideId: TemplateElementMap; slideMasters: PptxSlideMaster[]; notesMaster: PptxNotesMaster | undefined; handoutMaster: PptxHandoutMaster | undefined; sections: PptxSection[]; headerFooter: PptxHeaderFooter; presentationProperties: PptxPresentationProperties; customShows: PptxCustomShow[]; coreProperties: PptxCoreProperties | undefined; appProperties: PptxAppProperties | undefined; customProperties: PptxCustomProperty[]; /** `ppt/tags/*.xml` name/value metadata, editable in the inspector. */ tagCollections: PptxTagCollection[]; } export declare function createEditorSnapshot(snapshot: EditorSnapshot): EditorSnapshot; /** * Serialise a document snapshot to `.pptx` bytes. * * `saveIntent` carries the File > Info > Protect Presentation state: when it * holds a password the deck goes through `saveEncrypted`, producing an OLE2 * compound file (`EncryptionInfo` + `EncryptedPackage`) instead of a plain ZIP. * The choice is made by the shared `planDeckSave`, so all five bindings agree. * * `embedFonts` carries File > Fonts > "Embed fonts in the file" the same way: * `false` strips `p:embeddedFontLst`, the `/font` relationships and the * `.fntdata` parts, while `true` (core's default) re-embeds losslessly. Before * this the toggle lived in `Ribbon.svelte`'s local `$state` and reached no save * call at all, so the switch moved and the bytes were identical either way. * * `slideSize` carries Design > Slide Size the same way: omitting the option * makes core re-emit the load-time `p:sldSz` verbatim, so a preset or * orientation change made in the inspector never reached the written file. */ export declare function saveEditorDocument(handler: PptxHandler, snapshot: EditorSnapshot, format?: PptxSaveFormat, saveIntent?: DeckSaveIntent | string | null, embedFonts?: boolean, slideSize?: PptxSlideSize): Promise; //# sourceMappingURL=editor-document-state.d.ts.map