import { apiIntegration } from './api-flags';
import { routingIntegration } from './routing-flags';
import { uiIntegration } from './ui-flags';
import { performanceIntegration } from './performance-flags';
/**
* @fileoverview Feature flag integration module exports.
*
* This module provides comprehensive integration between the feature flag system
* and all library modules. It enables runtime configuration, conditional loading,
* analytics bridging, and domain-specific flag controls.
*
* @module flags/integration
*
* @example
* ```typescript
* import {
* // Library Integration
* LibraryIntegrationProvider,
* useLibraryFlags,
* createLibraryIntegration,
*
* // Configurable Features
* ConfigurableFeaturesProvider,
* useConfigurableFeature,
* defineFeature,
*
* // Flag-Driven Loading
* useFeatureFlaggedModule,
* FlaggedModuleLoader,
* createFlaggedComponent,
*
* // Analytics Bridge
* FlagAnalyticsProvider,
* useFlagAnalytics,
*
* // Domain Flags
* apiFlags,
* routingFlags,
* uiFlags,
* performanceFlags,
*
* // Universal Wrapper
* FlagConfigurable,
* } from '@/lib/flags/integration';
*
* // Use in app
* function App() {
* return (
*
*
*
*
*
* );
* }
* ```
*/
export { type LibraryId, type FlagMapping, type FlagTransformer, type LibraryIntegrationConfig, type LibraryIntegration, type IntegrationMetadata, type IntegrationRegistry, type LibraryIntegrationContextValue, type LibraryIntegrationProviderProps, createLibraryIntegration, createSimpleIntegration, registerIntegrations, createFlagImpactReport, integrationRegistry, getIntegrationRegistry, LibraryIntegrationProvider, useLibraryIntegrationContext, useLibraryFlags, useLibraryFeature, useMultiLibraryFlags, } from './library-integration';
export { type FeatureCategory, type FeatureStage, type FeatureVisibility, type FeatureRollout, type FeatureDependency, type FeatureOverride, type FeatureDefinition, type FeatureState, type ConfigurableFeature, type FeatureRegistryInterface, type FeatureExport, type ConfigurableFeaturesContextValue, type ConfigurableFeaturesProviderProps, featureRegistry, getFeatureRegistry, defineFeature, registerFeature, registerFeatures, createOverride, featuresFromFlagKeys, validateFeatures, ConfigurableFeaturesProvider, useConfigurableFeatures, useConfigurableFeature, useFeaturesByCategory, useFeatureStats, } from './configurable-features';
export { type ModuleLoader, type ComponentLoader, type ModuleLoadResult, type FlaggedModuleConfig, type FlaggedComponentProps, type ModulePreloadConfig, type FlaggedRouteModuleConfig, useFeatureFlaggedModule, useFlaggedLazyComponent, FlaggedModuleLoader, SuspenseFlaggedLoader, createFlaggedComponent, createFlaggedComponents, createFlaggedRouteLoaders, preloadModule, preloadModules, createModulePreloadLink, clearModuleCache, getModuleCacheStats, } from './flag-driven-loading';
export { type FlagExposureEvent, type FlagEvaluationEvent, type CorrelatedMetric, type CorrelatedError, type FeatureImpactMetric, type AnalyticsDestination, type FlagAnalyticsBridgeConfig, type FlagAnalyticsBridge, type FlagAnalyticsContextValue, type FlagAnalyticsProviderProps, createAnalyticsBridge, getAnalyticsBridge, initAnalyticsBridge, resetAnalyticsBridge, FlagAnalyticsProvider, useFlagAnalytics, useTrackedFeatureFlag, createConsoleDestination, createLocalStorageDestination, createHttpDestination, } from './flag-analytics-bridge';
export { API_FLAG_KEYS, type ApiFlagKey, type ApiFlagConfig, type EndpointFlagConfig, type FlaggedRequestOptions, DEFAULT_API_FLAG_CONFIG, apiIntegration, createApiFlagIntegration, apiFlags, useApiFlagConfig, useApiFlag, useFlaggedApiRequest, registerFlaggedEndpoint, getFlaggedEndpointUrl, getFlaggedEndpointMockData, clearFlaggedEndpoints, createFlaggedFetch, } from './api-flags';
export { ROUTING_FLAG_KEYS, type RoutingFlagKey, type RoutingFlagConfig, type FlaggedRouteConfig, type RouteVisibilityConfig, DEFAULT_ROUTING_FLAG_CONFIG, routingIntegration, createRoutingFlagIntegration, routingFlags, useRoutingFlagConfig, useRoutingFlag, useFlaggedNavigation, registerFlaggedRoute, getFlaggedRouteComponent, getFlaggedRouteRedirect, registerRouteVisibility, isRouteVisible, getVisibleRoutes, clearFlaggedRoutes, createFlaggedNavLinks, } from './routing-flags';
export { UI_FLAG_KEYS, type UiFlagKey, type UiFlagConfig, type ComponentVariantConfig, type StyleVariantConfig, type FlaggedUIComponentProps, DEFAULT_UI_FLAG_CONFIG, uiIntegration, createUiFlagIntegration, uiFlags, useUiFlagConfig, useUiFlag, useAnimationSettings, useThemeSettings, useComponentVariant, useStyleVariant, useUiFlagClasses, registerComponentVariant, getComponentVariant, registerStyleVariant, getStyleVariant, FlaggedUIComponent, withUiFlag, getUiFlagClasses, applyUiFlagsToDocument, } from './ui-flags';
export { PERFORMANCE_FLAG_KEYS, type PerformanceFlagKey, type PerformanceFlagConfig, type FlaggedMonitoringConfig, type FlaggedOptimizationConfig, type DegradationLevel, DEFAULT_PERFORMANCE_FLAG_CONFIG, performanceIntegration, createPerformanceFlagIntegration, performanceFlags, usePerformanceFlagConfig, usePerformanceFlag, useFlaggedMonitoringConfig, useFlaggedOptimizationConfig, usePerformanceDegradation, getFlaggedMonitoringConfig, getFlaggedOptimizationConfig, getDegradationConfig, } from './performance-flags';
export { type FlagMetadata, type FlagRenderProps, type FlagConfigurableProps, type FlagConfigurableContextValue, type WithFlagConfigurableOptions, type FlagConfigurableABProps, type FlagConfigurableMultiProps, type FlagConfigurableGatedProps, useFlagConfigurableContext, FlagConfigurable, FlagConfigurableAB, FlagConfigurableMulti, FlagConfigurableGated, FlagConfigurableDebug, FlagConfigurableList, withFlagConfigurable, } from './FlagConfigurable';
/**
* Initialize all library flag integrations
*/
export declare function initFlagIntegrations(getFlag: (flagKey: string) => boolean): () => void;
/**
* Get all registered library integrations
*/
export declare function getAllIntegrations(): {
api: typeof apiIntegration;
routing: typeof routingIntegration;
ui: typeof uiIntegration;
performance: typeof performanceIntegration;
};
/**
* Update flags across all integrations
*/
export declare function updateAllFlags(flags: Record): void;