/**
 * Utility for respecting the user's motion preference (prefers-reduced-motion)
 * in programmatic viewport animations (fitView, setCenter, scrollIntoView, etc.)
 * that are NOT covered by the CSS-level reduced-motion rule in styles.css.
 *
 * JS-driven animations (React Flow's duration parameter on fitView/setCenter,
 * smooth `scrollIntoView`) bypass CSS media queries — they must be explicitly
 * checked. Lives in `internal/` because it is cross-cutting: the workflow graph
 * and the workspace file viewer both depend on it, and `internal/` may not
 * depend on a feature domain.
 */
/**
 * Returns true if the user prefers reduced motion.
 * Caches the result and updates on media query change.
 */
export declare function prefersReducedMotion(): boolean;
/**
 * Returns 0 when the user prefers reduced motion, otherwise returns the
 * desired duration. Use for all React Flow viewport animations.
 *
 * @example
 * fitView({ duration: getAnimationDuration(300) });
 * setCenter(x, y, { duration: getAnimationDuration(400) });
 */
export declare function getAnimationDuration(desiredMs: number): number;
//# sourceMappingURL=motion-preference.d.ts.map