/** * Pure slide-navigation and zoom-step helpers for the Svelte viewer. * Kept framework-free so they are trivially unit-testable. */ /** Clamp a slide index into `[0, count - 1]` (0 when there are no slides). */ export declare function clampSlideIndex(index: number, count: number): number; /** Keyboard-driven navigation intents. */ export type NavigationAction = 'next' | 'prev' | 'first' | 'last'; /** * Map a `KeyboardEvent.key` to a navigation action, mirroring the slideshow * conventions used by the other bindings (arrows, paging keys, space, Home/End). */ export declare function resolveNavigationKey(key: string): NavigationAction | undefined; /** * Zoom bounds and step, re-exported from `pptx-viewer-shared`. * * These used to be a local 1.25x multiplicative step, so one press of the same * button zoomed 25% here and 10% in React/Vue/Angular. The arithmetic now lives * in one place for all five bindings; these names stay because they are part of * this package's public API. */ export { ZOOM_MAX_PERCENT, ZOOM_MIN_PERCENT, zoomInPercent, zoomOutPercent, } from 'pptx-viewer-shared'; /** * Fit-to-viewport scale for a canvas inside a viewport, with breathing room. * Returns a strictly positive scale (falls back to 1 while unmeasured). */ export declare function fitScale(viewportWidth: number, viewportHeight: number, canvasWidth: number, canvasHeight: number, padding?: number): number; //# sourceMappingURL=navigation.d.ts.map