import { UseMousePositionProps, UseMousePositionReturns } from './type'; /** * 마우스의 위치와 관련된 정보를 추적하는 훅 * @param {UseMousePositionProps} [options] - 마우스 위치 추적의 설정 옵션 * @param {number} [options.delayTime=1000/60] - 이벤트 핸들링을 throttle할 시간 간격 (ms 단위) * @param {boolean} [options.animationMode=false] - animationMode를 활성화할지 여부 * @returns {UseMousePositionReturns} UseMousePositionReturns - 마우스 위치와 요소의 크기 및 좌표 정보를 포함한 객체 * @returns {number | null} viewX - 뷰포트에서의 마우스 x 좌표 * @returns {number | null} viewY - 뷰포트에서의 마우스 y 좌표 * @returns {number | null} pageX - 페이지에서의 마우스 x 좌표 * @returns {number | null} pageY - 페이지에서의 마우스 y 좌표 * @returns {number | null} screenX - 화면에서의 마우스 x 좌표 * @returns {number | null} screenY - 화면에서의 마우스 y 좌표 * @returns {number | null} elementX - 지정된 Element와의 상대적인 마우스 x 좌표(Element 왼쪽 기준) * @returns {number | null} elementY - 지정된 Element와의 상대적인 마우스 y 좌표(Element 상단 기준) * @returns {number | null} refW - 지정된 Element의 너비 * @returns {number | null} refH - 지정된 Element의 높이 * @returns {Dispatch>} targetRef - 참조를 설정하는 함수 * @description * 마우스 이벤트를 감지하고 마우스의 다양한 좌표 및 관련 정보를 제공합니다. * 기본적으로 throttle을 사용하여 성능을 최적화하며 delayTime으로 해당 호출 빈도를 설정할 수 있습니다. * animationMode가 활성화된 경우 requestAnimationFrame을 사용, throttle을 대체한 최적화를 통해 마우스 움직임을 처리합니다. */ declare const useMousePosition: ({ delayTime, animationMode, }?: UseMousePositionProps) => UseMousePositionReturns; export default useMousePosition;