import { useSharedValue } from 'react-native-reanimated'; import type { FPSMetrics, FPSMonitorConfig } from '../types'; export interface UseFPSMonitorResult { /** SharedValue containing current FPS metrics (for UI thread access) */ metrics: ReturnType>; /** Start FPS monitoring */ start: () => void; /** Stop FPS monitoring */ stop: () => void; /** Reset all metrics */ reset: () => void; /** Render-safe snapshot (uses React state, may be slightly stale due to throttling) */ getSnapshot: () => FPSMetrics; /** Direct SharedValue read (accurate but NOT render-safe - use for final capture only) */ getSnapshotImmediate: () => FPSMetrics; /** Whether monitoring is currently active */ isActive: boolean; } /** * Hook for monitoring FPS on both UI and JS threads * * Uses: * - useFrameCallback for UI thread FPS (Reanimated pattern) * - requestAnimationFrame for JS thread FPS * * @param config - Optional configuration for thresholds and buffer size */ export declare function useFPSMonitor(config?: Partial): UseFPSMonitorResult; //# sourceMappingURL=useFPSMonitor.d.ts.map