
"use client";
import { MotionVariant, MotionVariantSpeed } from "../../types/dist/index.js";
import { ReactNode } from "react";
import { LazyFeatureBundle, MotionConfigProps } from "motion/react";

//#region src/components/client/SpringMotionConfig.d.ts
interface SpringMotionConfigProps extends Pick<MotionConfigProps, 'children' | 'reducedMotion'> {
  /**
   * The layout variant to use for the motion config.
   * @default 'subtle'
   */
  layoutVariant?: MotionVariant;
  /**
   * The layout speed to use for the motion config.
   * @default '3'
   */
  layoutSpeed?: MotionVariantSpeed;
  /**
   * The color variant to use for the motion config.
   * @default 'smooth'
   */
  colorVariant?: MotionVariant;
  /**
   * The color speed to use for the motion config.
   * @default '3'
   */
  colorSpeed?: MotionVariantSpeed;
  /**
   * A lazy feature bundle to load additional features.
   * This is useful for reducing bundle size by loading only the necessary features.
   */
  loadFeatures?: LazyFeatureBundle;
}
/**
 * **🎬 Spring Motion Config to define motion animations for all UDS components**
 *
 * @componentType Client component
 *
 * @description
 * The SpringConfig component provides a way to configure the spring animations for the entire application.
 * This component provides a way to use uds motion configs with Framer Motion.
 */
declare function SpringMotionConfig({
  children,
  reducedMotion,
  loadFeatures,
  layoutVariant,
  layoutSpeed,
  colorVariant,
  colorSpeed
}: SpringMotionConfigProps): ReactNode;
declare namespace SpringMotionConfig {
  var displayName: string;
}
//#endregion
export { SpringMotionConfig, type SpringMotionConfigProps };