/** * Smooth ViewBox Animation Utility * * Provides animated transitions between viewBox states using requestAnimationFrame. * Used by both story viewer and story builder for consistent smooth transitions. */ import type { ViewBox } from '../core/types/viewer'; import type { ViewerApi } from '../core/types/viewer-api'; type AnimationDeps = { now?: () => number; requestAnimationFrame?: (callback: FrameRequestCallback) => number; cancelAnimationFrame?: (handle: number) => void; }; /** * Smoothly animates viewBox transition from current state to target state * @param viewer - Viewer API instance * @param targetViewBox - Target viewBox to animate to * @param durationMs - Animation duration in milliseconds (default: 500ms) * @param deps - Runtime dependencies for testing */ export declare const animateViewBoxTransition: (viewer: ViewerApi, targetViewBox: ViewBox, durationMs?: number, deps?: AnimationDeps) => (() => void); /** * Smoothly animates layer opacities from fromOpacities to toOpacities * @param viewer - Viewer API instance * @param fromOpacities - Initial opacities map * @param toOpacities - Target opacities map * @param durationMs - Animation duration in milliseconds (default: 1000ms) * @param deps - Runtime dependencies for testing */ export declare const animateLayerOpacities: (viewer: ViewerApi, fromOpacities: Record, toOpacities: Record, durationMs?: number, deps?: AnimationDeps) => (() => void); export {};