import { useState, useCallback, useMemo } from 'react'; import { useCameraDevice, useCameraPermission, Camera } from 'react-native-vision-camera'; import type { CameraFacing, UseSmartCameraResult, CameraDevice } from '../types'; /** * Hook for managing SmartCamera state and permissions * * @returns Camera state, permission handlers, and device info * * @example * ```tsx * function CameraScreen() { * const { * hasPermission, * requestPermission, * device, * switchCamera, * currentCamera * } = useSmartCamera(); * * if (!hasPermission) { * return