import { PptxSlideTransition, PptxTransitionType } from 'pptx-viewer-core'; import { RibbonTransitionDraft } from 'pptx-viewer-shared'; import { EditorState } from './editor-state.svelte'; /** * Slide-transition actions for the ribbon's Transitions tab, split out of * `EditorState` to keep it under the repo's 300-LOC budget. Playback already * reads `PptxSlide.transition` (see `presentation/presentation-controller.svelte.ts`), * so this only needs to write that same field, routed through * `EditorState.commitSlides` so it is history-integrated (undoable). * * `applyTransition` covers both the preset gallery buttons and the duration * input (the tab re-applies the currently-selected preset whenever the * duration changes), plus the "Apply to All Slides" checkbox: when * `applyToAll` is true every slide gets the same fresh `{ type, durationMs }` * transition; otherwise only the current slide is patched, preserving any * advanced fields (direction, sound, ...) it already carried. */ export declare class EditorTransitionController { #private; constructor(editor: EditorState); applyTransition(type: PptxTransitionType, durationMs: number, applyToAll: boolean): void; /** * Commit the Transitions tab's whole draft (preset + duration + the Advance * Slide modifiers) in one undoable step. * * The draft, and what it means for a slide's `p:transition`, is decided in * `pptx-viewer-shared` (`ribbon-transitions`) so every binding writes the * same fields; this only routes the result through `commitSlides`. Unlike * `applyTransition`'s apply-to-all, the draft is MERGED onto each target so a * slide keeps its authored direction / spokes / sound. */ applyRibbonDraft(draft: RibbonTransitionDraft, applyToAll: boolean): void; /** * Merge a raw partial change onto the ACTIVE slide's transition, for * controls that write a single field outside the ribbon draft (currently * the Sound picker: a freshly-picked file's `soundData` has no equivalent * in {@link RibbonTransitionDraft}). */ applyChange(changes: Partial): void; } //# sourceMappingURL=editor-transition-controller.d.ts.map