/** * @fileoverview Advanced feature flag module exports. * * This module provides enterprise-grade feature flag capabilities: * - Comprehensive targeting rules * - Percentage-based rollouts * - User segmentation * - Multi-variate flags * - Flag dependencies * - Lifecycle management * * @module flags/advanced * * @example * ```typescript * import { * FlagEngine, * initFlagEngine, * createTargetingRule, * createSegment, * RolloutBuilder, * } from '@/lib/flags/advanced'; * * // Initialize the engine * const engine = initFlagEngine({ * debug: true, * offlineMode: false, * }); * * // Create targeting rules * const betaRule = createTargetingRule() * .id('beta-users') * .name('Beta Users') * .priority(1) * .variant('enabled') * .where('user.isBeta', true) * .build(); * * // Create segments * const internalSegment = createSegment() * .id('internal') * .name('Internal Users') * .endsWith('user.email', '@company.com') * .build(); * * // Configure rollouts * const rollout = RolloutBuilder.percentage(25, { sticky: true }); * ``` */ export type { FlagId, VariantId, SegmentId, UserId, JsonValue, UserAttributes, DeviceContext, ApplicationContext, NetworkContext, SessionContext, EvaluationContext, ComparisonOperator, AttributePath, TargetingCondition, LogicalOperator, ConditionGroup, TargetingRule, RuleSchedule, RolloutStrategy, PercentageRollout, ScheduledRollout, RolloutStage, RolloutCriteria, MetricThreshold, RingRollout, DeploymentRing, CanaryRollout, ExperimentRollout, VariantAllocation, RolloutConfig, Segment, VariantValueType, Variant, DependencyType, FlagDependency, FlagLifecycleState, FlagLifecycle, FeatureFlag, EvaluationReason, EvaluationResult, EvaluationError, FlagEvaluationEvent, FlagExposureEvent, FlagChangeEvent, FlagEvent, FlagEngineConfig, } from './types'; export { FlagEngine, getFlagEngine, initFlagEngine, resetFlagEngine } from './flag-engine'; export { TargetingRulesEngine, TargetingRuleBuilder, ConditionGroupBuilder, createTargetingRule, } from './targeting-rules'; export type { TargetingResult, TargetingDetails, RuleEvaluation, ConditionResult, } from './targeting-rules'; export { PercentageRolloutEngine, RolloutBuilder, calculateRolloutImpact, generateRolloutSchedule, } from './percentage-rollout'; export type { RolloutResult, HashFunction } from './percentage-rollout'; export { SegmentMatcher, SegmentBuilder, createSegment, SegmentFactories, composeSegments, } from './flag-segments'; export type { SegmentMatchResult, SegmentMatchReason, SegmentMatchDetails, SegmentCompositionOp, ComposedSegment, } from './flag-segments'; export { VariantManager, VariantBuilder, createVariant, getVariantManager, VariantSets, calculateVariantStats, compareVariants, } from './flag-variants'; export type { CreateVariantOptions, WeightedVariant, VariantStats, VariantComparison, } from './flag-variants'; export { DependencyResolver, DependencyBuilder, createDependencies, getDependencyResolver, resetDependencyResolver, validateDependencies, generateDependencyDOT, } from './flag-dependencies'; export type { DependencyResolutionResult, UnsatisfiedDependency, FlagEvaluator, } from './flag-dependencies'; export { LifecycleManager, LifecycleBuilder, createLifecycle, getLifecycleManager, resetLifecycleManager, } from './flag-lifecycle'; export type { TransitionOptions, LifecycleEvent, CleanupReport, CleanupRecommendation, FlagHealth, } from './flag-lifecycle';