/**
 * Learning exports - Closed-loop feedback and routing improvement
 * Split from index.ts for file size compliance (Issue #285)
 */

export {
  // Outcome Feedback Types
  type RouterType,
  type OutcomeClass,
  type QualitySignals,
  type RoutingDecision as FeedbackRoutingDecision,
  type TaskOutcome,
  type ComputedReward,
  type FeedbackLoopStats,
  type FeedbackCollectorConfig,
  type IOutcomeFeedback,
  type OutcomeProcessedCallback,
  DEFAULT_FEEDBACK_COLLECTOR_CONFIG,
  FeedbackCollectorConfigSchema,
  QualitySignalsSchema,
  RoutingDecisionSchema as FeedbackRoutingDecisionSchema,
  TaskOutcomeSchema,
  // Outcome Feedback Collector
  OutcomeFeedbackCollector,
  createRoutingDecision,
  createTaskOutcome,
  createOutcomeFeedbackCollector,
  // Feedback Integration (Issue #167)
  FeedbackIntegration,
  createFeedbackIntegration,
  computeOutcomeReward,
  DEFAULT_FEEDBACK_INTEGRATION_CONFIG,
  type IFeedbackIntegration,
  type FeedbackIntegrationConfig,
  type RecordOutcomeParams,
  // Outcome Storage (Issue #188 - SQLite persistence)
  type IOutcomeStorage,
  type ISQLiteDatabase,
  type ISQLiteStatement,
  type OutcomeStorageConfig,
  type StoredRoutingDecision,
  type StoredTaskOutcome,
  type StoredReward,
  type StoredModelStats,
  OutcomeStorageError,
  OutcomeStorageConfigSchema,
  DEFAULT_OUTCOME_STORAGE_CONFIG,
  SQLiteOutcomeStorage,
  createOutcomeStorage,
  // Validation Statistics (Issue #273)
  type ConfidenceInterval,
  type ComparisonResult,
  type DistributionStats,
  type RegretAnalysis,
  type WinLossAnalysis,
  type ExperimentResult,
  type PerformanceMatrixEntry,
  type StatisticalOptions,
  DEFAULT_STATISTICAL_OPTIONS,
  proportionConfidenceInterval,
  meanConfidenceInterval,
  compareProportions,
  calculateDistributionStats,
  calculateRegret,
  calculateWinLoss,
  calculateMinSampleSize,
  // Strategy Distiller (Issue #999)
  type RuleStatus,
  type PatternType,
  type StrategyAction,
  type DistilledRule,
  type DistillerConfig,
  type DistillerStats,
  DEFAULT_DISTILLER_CONFIG,
  StrategyDistiller,
  createStrategyDistiller,
  sigmoidConfidence,
  detectFailurePatterns,
  detectSuccessPatterns,
  detectLatencyPatterns,
  // Strategy Distiller Persistence (Issue #1009)
  PersistentStrategyDistiller,
  RulesSnapshotSchema,
  type RulesSnapshot,
  type PersistentDistillerConfig,
  // A/B Test Tracker (Issue #273)
  type ExperimentStatus,
  type ExperimentVariant,
  type ExperimentDefinition,
  type ExperimentOutcome,
  type VariantStats,
  type ExperimentSummary,
  type ExperimentExport,
  type IAbTestTracker,
  AbTestTracker,
  createAbTestTracker,
} from '../learning/index.js';
