/**
* @fileoverview Centralized Configuration System for the React Library Module.
*
* This module provides a PhD-level, enterprise-grade configuration management
* system for the library, featuring:
*
* - **Single Source of Truth**: All library configuration centralized
* - **Type Safety**: Full TypeScript support with comprehensive types
* - **Runtime Updates**: Hot configuration changes without restarts
* - **REST API Registry**: Dynamic endpoint discovery and health tracking
* - **Environment Awareness**: Automatic per-environment defaults
* - **React Integration**: Hooks for easy component integration
* - **App Config Bridge**: Integration with application-level @/config
*
* @module core/config
*
* @example Basic Usage
* ```typescript
* import {
* LIB_CONFIG,
* getLibConfigValue,
* setLibConfigValue,
* DEFAULT_TIMEOUT,
* } from '@/lib/core/config';
*
* // Access configuration
* const timeout = LIB_CONFIG.network.defaultTimeout;
*
* // Or by path
* const cacheTTL = getLibConfigValue('cache.defaultTTL');
*
* // Set at runtime
* setLibConfigValue('network.defaultTimeout', 60000);
* ```
*
* @example React Integration
* ```tsx
* import {
* useLibConfig,
* useLibConfigValue,
* useEndpoint,
* useEndpointUrl,
* } from '@/lib/core/config';
*
* function MyComponent() {
* const config = useLibConfig();
* const timeout = useLibConfigValue('network.defaultTimeout', 30000);
*
* return
Timeout: {timeout}ms
;
* }
*
* function ApiComponent() {
* const endpoint = useEndpoint('users.list');
* const url = useEndpointUrl('users.detail', { id: '123' });
*
* return {endpoint?.description};
* }
* ```
*
* @example Endpoint Registry
* ```typescript
* import {
* registerEndpoint,
* getEndpoint,
* buildEndpointUrl,
* getEndpointRegistry,
* } from '@/lib/core/config';
*
* // Register an endpoint
* registerEndpoint({
* name: 'users.list',
* path: '/users',
* method: 'GET',
* auth: true,
* cache: { strategy: 'cache-first', ttl: 300000 },
* });
*
* // Build URL with params
* const url = buildEndpointUrl('users.detail', { id: '123' });
* ```
*
* @example App Config Integration
* ```typescript
* import { env, TIMING, API_CONFIG } from '@/config';
* import { initLibConfigFromApp } from '@/lib/core/config';
*
* // Initialize library config from app config
* initLibConfigFromApp({ env, TIMING, API_CONFIG });
* ```
*/
export type { Milliseconds, Seconds, Pixels, Percentage, HttpMethod, ConfigSource, Environment, NetworkConfig, CacheConfig, FeatureFlagsConfig, AuthConfig, LayoutsConfig, VDOMConfig, UIConfig, MonitoringConfig, LibraryConfig, CacheStrategy, EndpointCacheConfig, EndpointRateLimit, EndpointHealthStatus, EndpointHealth, EndpointDefinition, EndpointEventType, EndpointChangeEvent, EndpointChangeListener, ConfigChangeEvent, ConfigChangeListener, RuntimeConfigOptions, DeepPartial, DeepReadonly, ConfigPath, ConfigAccessResult, Unsubscribe, IConfigRegistry, IEndpointRegistry, } from './types';
export { SECOND, MINUTE, HOUR, DEFAULT_NETWORK_CONFIG, DEFAULT_CACHE_CONFIG, DEFAULT_FLAGS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_LAYOUTS_CONFIG, DEFAULT_VDOM_CONFIG, DEFAULT_UI_CONFIG, DEFAULT_MONITORING_CONFIG, DEFAULT_TIMEOUT, DEFAULT_LONG_TIMEOUT, DEFAULT_SHORT_TIMEOUT, DEFAULT_HEALTH_CHECK_TIMEOUT, DEFAULT_REMOTE_TIMEOUT, DEFAULT_RETRY_BASE_DELAY, DEFAULT_RETRY_MAX_DELAY, DEFAULT_MAX_RETRY_ATTEMPTS, DEFAULT_CACHE_TTL, DEFAULT_SHORT_CACHE_TTL, DEFAULT_LONG_CACHE_TTL, DEFAULT_POLLING_INTERVAL, DEFAULT_PING_INTERVAL, DEFAULT_FLAG_CACHE_TTL, DEFAULT_MAX_FAILURES, DEFAULT_JITTER, EVALUATION_TIMEOUT, TOKEN_REFRESH_BUFFER, SESSION_TIMEOUT, SESSION_CHECK_INTERVAL, DEFAULT_TOKEN_LIFETIME, REFRESH_BUFFER_MS, DEFAULT_BREAKPOINT, DEFAULT_GAP, DEFAULT_PADDING, DEFAULT_MIN_COLUMN_WIDTH, MAX_ENTRY_AGE_MS, SESSION_WINDOW_GAP_MS, MAX_SESSION_WINDOW_MS, DEFAULT_DEBOUNCE, DEFAULT_SCROLL_THROTTLE, DEFAULT_THROTTLE_MS, DEFAULT_POOL_SIZE, DEFAULT_GC_INTERVAL, DEFAULT_MEMORY_LIMIT, DEFAULT_BATCH_SIZE, DEFAULT_METRICS_FLUSH_INTERVAL, DEFAULT_SLOW_REQUEST_THRESHOLD, DEFAULT_BUCKETS, STORAGE_KEYS, HEADER_NAMES, QUERY_PARAMS, CONTENT_TYPES, DEFAULT_ENV_PREFIX, DEFAULT_PORTAL_ROOT_ID, DEFAULT_SLOT_NAME, GRAPH_API, AZURE_AD, PAGINATION, RATE_LIMITS, SCROLL_THRESHOLDS, INTERSECTION_THRESHOLDS, SIZE_LIMITS, } from './constants';
export { ConfigRegistry, getConfigRegistry, getLibConfig, getLibConfigValue, setLibConfigValue, subscribeToLibConfig, LIB_CONFIG, EndpointRegistry, getEndpointRegistry, registerEndpoint, getEndpoint, buildEndpointUrl, isEndpointHealthy, } from './registry';
export { RuntimeConfigManager, getRuntimeConfigManager, setRuntimeConfig, applyRuntimeOverlay, rollbackConfig, startConfigPolling, stopConfigPolling, } from './runtime';
export { AppConfigBridge, getAppConfigBridge, initLibConfigFromApp } from './integration';
export { useLibConfig, useNetworkConfig, useCacheConfig, useFlagsConfig, useAuthConfig, useLayoutsConfig, useVDOMConfig, useUIConfig, useMonitoringConfig, useLibConfigValue, useLibConfigState, useRuntimeConfig, useConfigChangeTracking, useLastConfigChange, useLibConfigSelector, useLibConfigExists, useLibConfigPaths, useLibConfigEnvironment, useEndpoint, useAllEndpoints, useEndpointsByTag, useEndpointUrl, useEndpointUrlBuilder, useEndpointHealth, useIsEndpointHealthy, useUnhealthyEndpoints, useDegradedEndpoints, useEndpointStats, useEndpointChangeTracking, useLastEndpointChange, useRegisterEndpoint, useEndpointRegistry, } from './hooks';
/**
* Quick access to network timeout (most commonly used).
*/
export { DEFAULT_TIMEOUT as TIMEOUT } from './constants';
/**
* Quick access to cache TTL (commonly used).
*/
export { DEFAULT_CACHE_TTL as CACHE_TTL } from './constants';
/**
* Quick access to debounce delay (commonly used).
*/
export { DEFAULT_DEBOUNCE as DEBOUNCE } from './constants';