import { CreateViewerStateOptions, ViewerStateBag } from './create-viewer-state-types'; /** * Builds every reactive controller the ribbon, toolbar, and slide canvas * need. This is `PowerPointViewer.svelte`'s entire construction block, * extracted so that SFC stays thin composition and so a host can build its * own viewer shell out of `Ribbon` / `ViewerToolbar` / the state classes * without pulling in the whole `PowerPointViewer` component. * * MUST be called synchronously from a `.svelte` component's own script body * (top level, not inside a callback or after an `await`): it registers * `onMount` / `onDestroy` hooks and Svelte context (`setContext`) via * `provideTranslator` / `provideSmartArt3D` / `provideRenderContext` / * `provideInspectorDeck` / `provideFieldContext` (plus more inside the * clusters), all of which require an active component-initialisation * context. Svelte's lifecycle context stays active for the whole synchronous * execution of a component's script, not just its top-level statements, so * calling this from a component's script works exactly like inlining the * same code would. * * Construction is split across the `create-viewer-state-*.svelte.ts` helpers * purely to stay under the repo's file-size budget; the ORDER they are * invoked in below mirrors the original inline code (later clusters close * over earlier ones), with one deliberate reordering: the collaboration * cluster is built right after `editor` (it doesn't need the editing-chrome * cluster), which lets `controller` close over the real `collab.setCursor` * instead of a forward reference. * * Call the returned `destroy()` from the host component's own `onDestroy`. */ export declare function createViewerState(options: CreateViewerStateOptions): ViewerStateBag; //# sourceMappingURL=create-viewer-state.svelte.d.ts.map