/**
* @file Auto-Prioritized Hydration System
* @description World-class hydration system for React applications.
*
* This module provides a complete solution for optimizing React hydration:
*
* ## Key Features
*
* - **Priority Queue System**: 5 levels (critical, high, normal, low, idle)
* - **Visibility-Based Hydration**: Using IntersectionObserver
* - **Interaction-Triggered Hydration**: Immediate hydration on user input
* - **Idle-Time Background Hydration**: Using requestIdleCallback
* - **Hydration Budget Management**: Never blocks main thread
* - **Interaction Replay**: Captures and replays events during hydration
* - **Progressive Hydration**: Partial hydration support
* - **Performance Metrics**: Comprehensive telemetry
*
* ## Performance Targets
*
* - INP (Interaction to Next Paint): < 100ms
* - TTI (Time to Interactive) reduction: 40%
* - Zero main thread blocking during hydration
*
* ## Quick Start
*
* @example
* ```tsx
* // 1. Wrap your app with HydrationProvider
* import { HydrationProvider } from '@/lib/hydration';
*
* function App() {
* return (
*
*
*
* );
* }
*
* // 2. Wrap components with HydrationBoundary
* import { HydrationBoundary } from '@/lib/hydration';
*
* function HeroSection() {
* return (
*
*
*
* );
* }
*
* // 3. Use hooks to monitor and control hydration
* import { useHydrationMetrics, useHydrationStatus } from '@/lib/hydration';
*
* function Dashboard() {
* const metrics = useHydrationMetrics();
* const heroStatus = useHydrationStatus('hero-section');
*
* return (
*
*
Progress: {metrics.hydrationProgress.toFixed(0)}%
*
Hero status: {heroStatus.state}
*
* );
* }
* ```
*
* ## Architecture
*
* ```
* HydrationProvider
* |
* +-- HydrationScheduler (singleton)
* | |
* | +-- PriorityQueue
* | +-- IntersectionObserver
* | +-- InteractionReplayManager
* |
* +-- HydrationBoundary (multiple)
* |
* +-- Status tracking
* +-- Placeholder rendering
* +-- Event capture
* ```
*
* @module hydration
*/
export { type HydrationPriority, type HydrationTrigger, PRIORITY_WEIGHTS, type HydrationState, type HydrationStatus, createInitialHydrationStatus, type HydrationBoundaryId, type HydrationTask, type HydrationTaskMetadata, createBoundaryId, type HydrationBudget, type VisibilityConfig, type HydrationSchedulerConfig, type InteractionStrategy, DEFAULT_HYDRATION_BUDGET, DEFAULT_VISIBILITY_CONFIG, DEFAULT_SCHEDULER_CONFIG, type HydrationMetric, type HydrationMetricsSnapshot, type HydrationMetricsReporter, type ReplayableInteractionType, type CapturedInteraction, type InteractionReplayConfig, DEFAULT_REPLAY_CONFIG, type HydrationBoundaryProps, type HydrationProviderProps, type HydrationContextValue, type WithHydrationBoundaryOptions, type HydrationEventType, type HydrationEvent, type HydrationEventListener, type PartialHydrationConfig, mergeWithDefaults, isHydrationPriority, isHydrationTrigger, isHydrationState, } from './types';
export { HydrationProvider, useHydrationContext, useOptionalHydrationContext, HydrationContext, } from './HydrationProvider';
export { HydrationBoundary, withHydrationBoundary, LazyHydration, type LazyHydrationProps, } from './HydrationBoundary';
export { useHydration, useHasHydrationContext, type UseHydrationReturn, type UseHydrationOptions, useHydrationStatus, useIsHydrated, useWaitForHydration, type UseHydrationStatusReturn, type UseHydrationStatusOptions, useHydrationPriority, useAdaptiveHydrationPriority, PRIORITY_ORDER, PRIORITY_TO_LEVEL, LEVEL_TO_PRIORITY, type UseHydrationPriorityReturn, type UseHydrationPriorityOptions, type PriorityLevel, useDeferredHydration, useSimpleDeferredHydration, useIdleHydration, type UseDeferredHydrationReturn, type DeferredHydrationConfig, type DeferredHydrationContainerProps, useHydrationMetrics, useHydrationMetricValue, useHydrationProgress, useIsHydrationComplete, useTimeToFullHydration, useHydrationMetricsDebug, type UseHydrationMetricsReturn, type UseHydrationMetricsOptions, } from './hooks';
export { HydrationScheduler, getHydrationScheduler, resetHydrationScheduler, type SchedulerState, } from './hydration-scheduler';
export { HydrationPriorityQueue, createPriorityQueue, createPriorityQueueFrom, type PriorityQueueConfig, type PriorityQueueStats, } from './priority-queue';
export { InteractionReplayManager, getInteractionReplayManager, resetInteractionReplayManager, } from './interaction-replay';
export declare function initHydrationSystem(config?: Partial): () => void;
/**
* Get the current hydration metrics.
* Convenience function for accessing metrics without hooks.
*
* @returns Current metrics snapshot
*
* @example
* ```tsx
* const metrics = getHydrationMetrics();
* console.log(`Hydrated: ${metrics.hydratedCount}/${metrics.totalBoundaries}`);
* ```
*/
export declare function getHydrationMetrics(): import('./types').HydrationMetricsSnapshot;