/**
* @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';