/** * Reactive viewer chrome state (runes-based): current slide, zoom mode, and * fullscreen flag. The Svelte analogue of the Vue binding's `useViewerState` * essentials, kept out of the SFC so it is unit-testable without a DOM. */ export declare class ViewerState { #private; /** Number of slides in the loaded presentation. */ slideCount: number; /** Active slide index (0-based). */ current: number; /** True while the viewer root is the fullscreen element. */ isFullscreen: boolean; /** Manual zoom percent, or `null` for fit-to-viewport. */ get zoomPercent(): number | null; set zoomPercent(percent: number | null); /** Reset for a freshly-loaded presentation. */ reset(slideCount: number, initialSlide?: number): void; goTo(index: number): void; next(): void; prev(): void; first(): void; last(): void; /** * Zoom one step in/out from the currently-effective percent. While in fit * mode the state does not know the fitted percent (it depends on viewport * measurements), so the component passes it in. */ zoomIn(effectivePercent: number): void; zoomOut(effectivePercent: number): void; zoomToFit(): void; /** * Apply a keyboard navigation key. Returns true when the key was handled * (so the caller can `preventDefault()`). */ handleNavigationKey(key: string): boolean; } //# sourceMappingURL=viewer-state.svelte.d.ts.map