import type { Color, Euler, MeshProps, Vector3 } from "@react-three/fiber"; import type { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from "react"; import type { HoverHandlers, MotionValue, TapHandlers, ResolvedValues, AnimationLifecycles, AnimationProps } from "framer-motion"; export interface ThreeMotionProps extends AnimationLifecycles, AnimationProps, TapHandlers, HoverHandlers { onInstanceUpdate?: MeshProps["onUpdate"]; } export interface ThreeRenderState { latestValues: ResolvedValues; } /** * @public */ export declare type ForwardRefComponent = ForwardRefExoticComponent & RefAttributes>; declare type MotionValueOrNumber = number | MotionValue; declare type MotionValueVector3 = [ MotionValueOrNumber, MotionValueOrNumber, MotionValueOrNumber ]; export declare type AcceptMotionValues = Omit & { position?: Vector3 | MotionValueVector3 | MotionValueOrNumber; scale?: Vector3 | MotionValueVector3 | MotionValueOrNumber; rotation?: Euler | MotionValueVector3 | MotionValueOrNumber; color?: Color | MotionValue; }; /** * Motion-optimised versions of React's HTML components. * * @public */ export declare type ThreeMotionComponents = { [K in keyof JSX.IntrinsicElements]: ForwardRefComponent, "onUpdate">>; }; export {};