/** * @file Performance Hooks Barrel Export * @description Centralized exports for all performance-related React hooks. * * This module provides a comprehensive set of hooks for monitoring and optimizing * React application performance, including: * * - Budget awareness and enforcement * - Render metrics and optimization * - Long task detection * - Memory pressure monitoring * - Network quality adaptation * * @example * ```typescript * import { * usePerformanceBudget, * useRenderMetrics, * useLongTaskDetector, * useMemoryPressure, * useNetworkQuality, * } from '@/lib/performance/hooks'; * ``` */ export { usePerformanceBudget, useBudgetStatus, useDegradedMode, useBudgetConditional, type UsePerformanceBudgetOptions, type UsePerformanceBudgetReturn, type BudgetStatus, } from './usePerformanceBudget'; export { useRenderMetrics, useRenderPhaseMetrics, useRenderProfiler, useWastedRenderDetector, type UseRenderMetricsOptions, type UseRenderMetricsReturn, type RenderMetrics, } from './useRenderMetrics'; export { useLongTaskDetector, useDeferredRender, useBlockingTimeTracker, useYieldToMain, type UseLongTaskDetectorOptions, type UseLongTaskDetectorReturn, type LongTaskStats, } from './useLongTaskDetector'; export { useMemoryPressure, useMemoryCleanup, useMemoryAwareCache, useComponentMemoryImpact, type UseMemoryPressureOptions, type UseMemoryPressureReturn, type MemoryPressureLevel, type MemorySnapshot, type MemoryTrend, } from './useMemoryPressure'; export { useNetworkQuality, useAdaptiveImageQuality, useNetworkConditional, useNetworkAwareLazyLoad, useRequestPerformance, useNetworkStatusIndicator, usePreconnect, type UseNetworkQualityOptions, type UseNetworkQualityReturn, type AdaptiveLoadingStrategy, } from './useNetworkQuality'; /** * Combined performance awareness hook * * Provides a unified interface for all performance metrics, useful for * components that need comprehensive performance awareness. * * @example * ```tsx * function PerformanceAwareComponent() { * const perf = usePerformanceAwareness(); * * if (perf.shouldReduceComplexity) { * return ; * } * * return ; * } * ``` */ export declare function usePerformanceAwareness(): { /** Should reduce rendering complexity */ shouldReduceComplexity: boolean; /** Should defer non-critical work */ shouldDefer: boolean; /** Is system under pressure */ isUnderPressure: boolean; /** Overall health score (0-100) */ healthScore: number; /** Current constraints */ constraints: { memory: 'normal' | 'warning' | 'critical'; network: 'fast' | 'moderate' | 'slow'; mainThread: 'free' | 'busy' | 'blocked'; }; }; /** * Hook for adaptive component rendering * * Returns the appropriate version of content based on current performance constraints. * * @example * ```tsx * function AdaptiveList({ items }) { * const renderItem = useAdaptiveRender( * (item) => , // Full * (item) => , // Reduced * (item) => // Minimal * ); * * return items.map(renderItem); * } * ``` */ export declare function useAdaptiveRender(fullRender: (item: T) => R, reducedRender: (item: T) => R, minimalRender: (item: T) => R): (item: T) => R; export { useOptimizedRender, useLazyFeature, useProgressiveLoad, clearFeatureCache, preloadFeature, type RenderPriority, type LazyFeatureStatus, type ProgressiveLoadPhase, type NetworkQuality as ProgressiveNetworkQuality, type UseOptimizedRenderOptions, type UseOptimizedRenderReturn, type UseLazyFeatureOptions, type UseLazyFeatureReturn, type UseProgressiveLoadOptions, type UseProgressiveLoadReturn, } from './useOptimizedHooks';