import { Vector3, Vector3Like, Vector3Tuple } from 'three'; export type V3 = Vector3Like | Vector3Tuple; /** * Converts various position/vector formats to a Three.js Vector3 array. * Memoizes the result to prevent unnecessary re-renders. * * @param vec3 - Vector in various formats * @returns Three.js compatible Vector3 array or undefined * * @example * // From object with x, y, z properties * const pos = useVec3({ x: 1, y: 2, z: 3 }); // Returns: [1, 2, 3] * * @example * // From array (pass-through) * const pos = useVec3([1, 2, 3]); // Returns: [1, 2, 3] * * @example * // From undefined/null * const pos = useVec3(undefined); // Returns: undefined */ export declare const useVec3: (vec3?: Vector3Like | [number, number, number] | undefined | null) => Vector3 | undefined; export declare const useVec3Tuple: (vec3?: Vector3Like | [number, number, number] | undefined | null) => [number, number, number] | undefined;