import { FeatureBundle, Transition } from "motion/react"; import * as React from "react"; import * as react_jsx_runtime0 from "react/jsx-runtime"; //#region src/motion-provider.d.ts interface IMotionProviderProps { children: React.ReactNode; /** Global default transition. Falls back to a fast tween (150ms, standard ease). */ transition?: Transition; /** Override transition used for enter animations only. */ enterTransition?: Transition; /** Override transition used for exit animations only. */ exitTransition?: Transition; /** * Reduced-motion strategy passed to `MotionConfig`. * - `"user"` (default): respects OS `prefers-reduced-motion` setting. * - `"always"`: forces reduced motion for all users. * - `"never"`: ignores the OS setting. */ reducedMotion?: 'user' | 'always' | 'never'; /** LazyMotion feature loader. Defaults to `loadDomAnimation` (~5KB). */ features?: () => Promise; /** Enable strict mode for LazyMotion (warns on `motion.*` usage). */ strict?: boolean; } interface IMotionConfigContextValue { exitTransition?: Transition; } declare function useMotionConfig(): IMotionConfigContextValue; /** * `LazyMotion` + `MotionConfig` with duck-ui defaults. Honors * `useDuckReducedMotion`. `exitTransition` is exposed via `useMotionConfig()` * so `useMotionMount` can derive exit duration without the caller passing it. */ declare function MotionProvider({ children, transition, enterTransition, exitTransition, reducedMotion, features, strict }: IMotionProviderProps): react_jsx_runtime0.JSX.Element; declare namespace MotionProvider { var displayName: string; } //#endregion export { IMotionConfigContextValue, IMotionProviderProps, MotionProvider, useMotionConfig };