import * as THREE from 'three'; import * as React from 'react'; import { ThreeElements } from '@react-three/fiber'; export type MotionPathProps = ThreeElements['group'] & { curves?: THREE.Curve[]; debug?: boolean; debugColor?: THREE.ColorRepresentation; object?: React.RefObject; focus?: [x: number, y: number, z: number] | React.RefObject; loop?: boolean; offset?: number; smooth?: boolean | number; eps?: number; damping?: number; focusDamping?: number; maxSpeed?: number; }; type MotionState = { current: number; path: THREE.CurvePath; focus: React.RefObject | [x: number, y: number, z: number] | undefined; object: React.RefObject; offset: number; point: THREE.Vector3; tangent: THREE.Vector3; next: THREE.Vector3; }; export type MotionPathRef = THREE.Group & { motion: MotionState; }; export declare function useMotion(): MotionState; export declare const MotionPathControls: React.ForwardRefExoticComponent & React.RefAttributes>; export {};