/**
 * Analytics Service
 *
 * Provides event tracking, session management, and player engagement metrics.
 * Ported from Python: ws/analytics/
 */

// Event Types and Definitions
export {
  // Event categories and names
  EVENT_NAMES,
  getEventCategory,
  validateEvent,
  isKnownEvent,

  // Types
  type EventCategory,
  type EventName,
  type BaseEventProperties,
  type SessionEventProperties,
  type PurchaseEventProperties,
  type GameplayEventProperties,
  type SocialEventProperties,
  type ProgressionEventProperties,
  type TutorialEventProperties,
  type RetentionEventProperties,
  type SystemEventProperties,
  type EventProperties,
  type AnalyticsEvent,
  type AnalyticsSession,
  type EventBatch,
  type EventBufferConfig,
  DEFAULT_BUFFER_CONFIG,
} from './events.js';

// Analytics Manager
export {
  // Core class
  AnalyticsTracker,

  // Global instance functions
  getTracker,
  initializeAnalytics,

  // Convenience functions (mirror Python API)
  trackEvent,
  trackPurchaseInitiated,
  trackPurchaseCompleted,
  trackConversationSent,
  trackLevelUp,
  trackTutorialStep,
  trackRelationshipMilestone,
  trackDeath as trackAnalyticsDeath,
} from './analytics_manager.js';
