/** * @file Virtual Modular DOM System * @module vdom * @description Complete Virtual Modular DOM system for Harbor React Framework. * Provides module boundary management, memory-efficient VDOM pooling, * security sandboxing, and cross-module communication. * * @author Agent 5 - PhD Virtual DOM Expert * @version 1.0.0 * * @example * ```tsx * import { * ModuleProvider, * ModuleBoundary, * ModuleSlot, * useModule, * useModuleState, * } from '@/lib/vdom'; * * function App() { * return ( * * * * * * ); * } * * function Dashboard() { * const { moduleId, emit } = useModule(); * const { state, setState } = useModuleState('counter', { initialValue: 0 }); * * return ( * *

Count: {state}

* *
* ); * } * ``` */ export type { ModuleId, VNodeId, SecurityNonce, ModuleEventName, DeepReadonly, Optional, VNodeProps, VirtualNode, VNodeCreateOptions, ModuleLifecycleHooks, HydrationConfig, HydrationData, ModuleDependency, ModuleSlotDefinition, ModuleBoundaryConfig, ModuleBoundaryState, VirtualModule, CSPDirectives, ModuleSecurityConfig, SecurityContext, SecurityViolation, ModuleEventMessage, EventSubscriptionOptions, EventHandler, EventSubscription, VDOMPoolConfig, VDOMPoolStats, ModuleRegistryEntry, ModuleQueryOptions, ModuleLoadOptions, ModuleLoadingState, ModulePerformanceMetrics, PerformanceBudget, ModuleContextValue, ModuleAction, ModuleProviderConfig, UseModuleReturn, UseModuleStateReturn, UseModuleBoundaryReturn, UseModuleHydrationReturn, UseSecureModuleReturn, } from './types'; export { VNodeType, ModuleLifecycleState, ModuleLifecycleEvent, HydrationState, HydrationPriority, HydrationTrigger, EventPriority, LoadingPriority, createModuleId, createVNodeId, createSecurityNonce, isModuleId, isVNodeId, DEFAULT_HYDRATION_CONFIG, DEFAULT_POOL_CONFIG, DEFAULT_SECURITY_CONFIG, } from './types'; export { VirtualModuleManager, createVirtualModule, createValidatedModuleId, createMinimalConfig, } from './virtual-module'; export { VDOMPool, getDefaultPool, setDefaultPool, resetDefaultPool, createVDOMPool, acquireNode, releaseNode, } from './vdom-pool'; export { ModuleRegistry, getDefaultRegistry, setDefaultRegistry, resetDefaultRegistry, registerModule, getModuleComponent, createModuleRegistration, } from './module-registry'; export type { HMRUpdateHandler, ModuleRegistrationOptions, DependencyResolutionResult, } from './module-registry'; export { ModuleLoader, getDefaultLoader, setDefaultLoader, resetDefaultLoader, loadModule, prefetchModule, createLazyLoader, } from './module-loader'; export type { PrefetchHint, LoadingMetrics } from './module-loader'; export { SecuritySandbox, ContentSanitizer, CSPManager, EventValidator, createSecuritySandbox, createStrictSecurityConfig, createRelaxedSecurityConfig, } from './security-sandbox'; export { ModuleEventBus, getDefaultEventBus, setDefaultEventBus, resetDefaultEventBus, subscribe, publish, } from './event-bus'; export type { EventBusStats, EventBusConfig } from './event-bus'; export { ModuleProvider } from './ModuleProvider'; export { useModuleSystem, useModuleHierarchy, ModuleHierarchyProvider, useVDOMPool, useModuleRegistry, useModuleLoader, useEventBus, useDevMode, } from './ModuleProviderExports'; export type { ModuleSystemContextValue, ModuleProviderProps } from './ModuleProviderContext'; export { ModuleBoundary, useModuleContext, useOptionalModuleContext } from './ModuleBoundary'; export type { ModuleBoundaryProps } from './ModuleBoundary'; export { ModuleSlot, DynamicModuleSlot, LazyModuleSlot, ModuleOutlet, ConditionalModuleSlot, ModulePortalSlot, } from './ModuleSlot'; export { useFillSlot, useSlotContent, useIsSlotFilled } from './ModuleSlotExports'; export type { ModuleSlotProps, DynamicModuleSlotProps, ModuleOutletProps, LazyModuleSlotProps, ConditionalModuleSlotProps, ModulePortalSlotProps, } from './ModuleSlot'; export { useModule, useModuleId, useModuleConfig, useIsModuleMounted, useModuleMetrics, useModuleEmit, useModuleSubscribe, useModuleState, useSimpleModuleState, useBooleanModuleState, useArrayModuleState, useRecordModuleState, useModuleBoundary, useBoundaryDimensions, useBoundaryVisibility, useModuleDepth, useModulePath, useIsNestedModule, useParentModuleId, useSlot, useSlots, useModuleHydration, useIsHydrated, useHydrateTrigger, useHydrationProgress, useOnHydrated, useOnHydrationError, useHydrationGuard, useHydrationTiming, useSecureModule, useSecurityNonce, useIsSecure, useSanitizer, useContentValidator, useSecurityViolations, useSafeHtml, useSecureUrl, useSecureStyleProps, useSecureScriptProps, useIsEventAllowed, useSecureMessaging, } from './hooks'; export type { UseModuleStateOptions } from './hooks'; /** * Initialize the Virtual Modular DOM system with default configuration. * Call this once at application startup. * * @param config - Optional provider configuration * * @example * ```tsx * import { initializeVDOM } from '@/lib/vdom'; * * // Initialize with defaults * initializeVDOM(); * * // Or with custom configuration * initializeVDOM({ * devMode: true, * enableTelemetry: true, * }); * ``` */ export declare function initializeVDOM(config?: Partial): void; /** * Clean up the Virtual Modular DOM system. * Call this when shutting down the application. */ export declare function cleanupVDOM(): void; export { ModuleCircuitBreaker, ModuleCircuitOpenError, getModuleCircuitBreaker, resetModuleCircuitBreaker, setModuleCircuitBreaker, withModuleCircuitBreaker, withModuleCircuitBreakerFallback, canLoadModules, getModuleCircuitState, type ModuleCircuitBreakerConfig, type ModuleLoadingMetrics as ModuleCircuitBreakerMetrics, } from './module-circuit-breaker';