/** * Performance monitoring module for AnimatedFlashList * * Provides hooks and utilities for measuring and comparing performance. * These tools are designed for development, benchmarking, and CI integration. * * @example * ```tsx * import { * useFPSMonitor, * useRenderProfiler, * useMemoryMonitor, * } from '@souscheflabs/reanimated-flashlist/performance'; * * function BenchmarkScreen() { * const fps = useFPSMonitor(); * const { Profiler, metrics: renderMetrics } = useRenderProfiler('MyList'); * const memory = useMemoryMonitor(); * * useEffect(() => { * fps.start(); * memory.start(); * return () => { * fps.stop(); * memory.stop(); * }; * }, []); * * return ( * * * * * ); * } * ``` */ // Hooks export { useFPSMonitor, useRenderProfiler, useMemoryMonitor, useBenchmarkComparison, type UseFPSMonitorResult, type UseRenderProfilerResult, type UseMemoryMonitorResult, type UseBenchmarkComparisonConfig, type UseBenchmarkComparisonResult, } from './hooks'; // Utilities export { compareWithBaseline, formatComparisonAsMarkdown, compareVsVanilla, parseBaseline, validateBaseline, getBaselineMetrics, getVanillaMetrics, createEmptyBaseline, mergeIntoBaseline, mergeVanillaIntoBaseline, serializeBaseline, } from './utils'; // Types export type { FPSMetrics, RenderMetrics, MemoryMetrics, BenchmarkResult, BaselineData, ScenarioMetrics, ComparisonResult, ComparisonDetail, ComparisonThresholds, FPSMonitorConfig, MemoryMonitorConfig, BenchmarkScenario, } from './types'; // Default values export { DEFAULT_FPS_METRICS, DEFAULT_RENDER_METRICS, DEFAULT_MEMORY_METRICS, DEFAULT_THRESHOLDS, DEFAULT_FPS_MONITOR_CONFIG, DEFAULT_MEMORY_MONITOR_CONFIG, } from './types';