import { Vector3 } from 'three'; import { V3 } from './useVec3.ts'; /** * Converts various scale formats to a Three.js Vector3 instance. * Memoizes the result to prevent unnecessary re-renders. * Supports uniform scaling from a single number. * * @param scale - Scale in various formats * @returns Three.js Vector3 instance or undefined * * @example * // From a single number (uniform scale) * const scl = useScale(2); // Returns: Vector3(2, 2, 2) * * @example * // From object with x, y, z properties * const scl = useScale({ x: 1, y: 2, z: 0.5 }); // Returns: Vector3(1, 2, 0.5) * * @example * // From array (pass-through) * const scl = useScale([1, 2, 3]); // Returns: Vector3(1, 2, 3) * * @example * // From undefined/null * const scl = useScale(undefined); // Returns: undefined * * @example * // Common use case: default scale of 1 * const scl = useScale(props.scale ?? 1); // Returns: Vector3(1, 1, 1) if props.scale is undefined */ export declare const useScale: (scale?: number | V3) => Vector3 | undefined; export declare const useScaleTuple: (scale?: number | V3) => [number, number, number] | undefined;