/** * @file Progressive Enhancement Context * @description Context for progressive enhancement system (Fast Refresh compliant). */ /** * Feature capability levels */ export type CapabilityLevel = 'full' | 'partial' | 'fallback' | 'none'; /** * Browser feature capabilities */ export interface BrowserCapabilities { esModules: boolean; asyncAwait: boolean; webGL: boolean; webGL2: boolean; webP: boolean; avif: boolean; serviceWorker: boolean; webWorker: boolean; sharedArrayBuffer: boolean; intersectionObserver: boolean; resizeObserver: boolean; cssGrid: boolean; containerQueries: boolean; cssHas: boolean; viewTransitions: boolean; navigationAPI: boolean; popoverAPI: boolean; webAnimations: boolean; idleCallback: boolean; intl: boolean; } /** * Feature status */ export interface FeatureStatus { id: string; level: CapabilityLevel; loaded: boolean; loading: boolean; error: Error | null; module: unknown; } /** * Feature definition */ export interface FeatureDefinition { id: string; name: string; requires: Array; enhancedBy?: Array; loader: () => Promise; fallbackLoader?: () => Promise; polyfills?: Array<() => Promise>; priority?: number; } /** * Progressive enhancement context value */ export interface ProgressiveEnhancementContextValue { capabilities: BrowserCapabilities; features: Map; hasCapability: (capability: keyof BrowserCapabilities) => boolean; getFeatureLevel: (featureId: string) => CapabilityLevel; loadFeature: (featureId: string) => Promise; registerFeature: (definition: FeatureDefinition) => void; } /** * Progressive enhancement context - extracted for Fast Refresh compliance */ export declare const ProgressiveEnhancementContext: import('react').Context;