/**
 * Activity Events Index
 * Exports all activity event types
 */

// Career & Work Events
export * from './career.js';
export { careerEvents } from './career.js';

// Physical & Sports Events
export * from './physical.js';
export { physicalEvents } from './physical.js';

// Creative & Artistic Events
export * from './creative.js';
export { creativeEvents } from './creative.js';

// Family Events
export * from './family.js';
export { familyEvents } from './family.js';

// Hobbies & Personal Development Events
export * from './hobbies.js';
export { hobbyEvents } from './hobbies.js';

// Learning & Educational Events
export * from './learning.js';
export { learningEvents } from './learning.js';

// Seasonal & Outdoor Events
export * from './seasonal.js';
export { seasonalEvents } from './seasonal.js';

// Outdoor & Adventure Events
export * from './outdoor.js';
export { outdoorEvents } from './outdoor.js';

// Social Events
export * from './social.js';
export { socialEvents } from './social.js';

// Activity Progress System (Learning & Physical Progress)
export * from './progress.js';
export {
  // Progress functions
  onlineCourseProgress,
  languageLearningProgress,
  codingBootcampProgress,
  musicLessonsProgress,
  cookingClassProgress,
  soccerProgress,
  martialArtsProgress,
  runningProgress,
  gymProgress,
  yogaProgress,
  // Helper functions
  hasActivity,
  getActivityRecordById,
  getActivityRecordByType,
  incrementActivityPerformance,
  addSocialActivity,
  buildRelationshipsAtActivity,
  scheduleProgressCheck,
  createLearningActivityRecord,
  createActivitySchedule,
  // Game loop handlers
  handleLearningActivities,
  handlePhysicalActivities,
  handleAllActivityProgress,
  // Registry
  progressEventRegistry,
  executeProgressEvent,
  // Types
  type FocusType,
  type ProgressResult,
} from './progress.js';

// Aggregate all events
import { careerEvents } from './career.js';
import { physicalEvents } from './physical.js';
import { creativeEvents } from './creative.js';
import { familyEvents } from './family.js';
import { hobbyEvents } from './hobbies.js';
import { learningEvents } from './learning.js';
import { seasonalEvents } from './seasonal.js';
import { outdoorEvents } from './outdoor.js';
import { socialEvents } from './social.js';

/**
 * All activity events combined
 */
export const allActivityEvents = [
  ...careerEvents,
  ...physicalEvents,
  ...creativeEvents,
  ...familyEvents,
  ...hobbyEvents,
  ...learningEvents,
  ...seasonalEvents,
  ...outdoorEvents,
  ...socialEvents,
];
