import { PptxCustomShow, PptxHeaderFooter, PptxPresentationProperties } from 'pptx-viewer-core'; export interface PresentationMetadataHost { readonly editable: boolean; pushHistory(): void; commitChange(): void; } /** Owns presentation-level metadata and its undoable editor mutations. */ export declare class EditorPresentationMetadata { private readonly host; headerFooter: PptxHeaderFooter; presentationProperties: PptxPresentationProperties; customShows: PptxCustomShow[]; constructor(host: PresentationMetadataHost); /** * Deep-copy a value that may be a rune PROXY. * * The dialogs build their edits in `$state`, so what reaches these setters is * a reactive proxy, and `structuredClone` throws `DataCloneError` on one. The * Header & Footer panel hit exactly that: "Apply to All" threw before it ever * assigned, so setting a footer silently did nothing and the canvas kept the * string the deck was loaded with. `$state.snapshot` is a pass-through for a * plain object, so this is safe for every caller. */ private static clone; set(headerFooter?: PptxHeaderFooter, presentationProperties?: PptxPresentationProperties, customShows?: PptxCustomShow[]): void; updatePresentationProperties(next: PptxPresentationProperties): void; updateHeaderFooter(next: PptxHeaderFooter): void; updateCustomShows(next: PptxCustomShow[]): void; private commit; } //# sourceMappingURL=editor-presentation-metadata.svelte.d.ts.map