/**
 * BaoLife Testing Utilities
 * =========================
 *
 * This package provides utilities for testing the game without a WebSocket connection.
 *
 * Main Classes:
 * - HeadlessGame: Runs full game simulations without WebSocket
 * - OutputCollector: Captures events and questions instead of sending via WebSocket
 * - AutoResponder: Automatically responds to question events
 * - PlayerFactory: Creates test players at various life stages
 *
 * Example Usage:
 * ```typescript
 * import { HeadlessGame } from '../testing';
 *
 * // Create a game with auto-respond enabled
 * const game = new HeadlessGame({ autoRespond: true });
 *
 * // Advance to age 30
 * await game.advanceToAge(30);
 *
 * // Print summary
 * game.printSummary();
 *
 * // Check for specific events
 * expect(game.hasEvent('birthday_5')).toBe(true);
 * ```
 */

// Main simulation class
export { HeadlessGame } from './HeadlessGame.js';
export type { HeadlessGameOptions, GameSummary } from './HeadlessGame.js';

// Output collection
export { OutputCollector } from './OutputCollector.js';
export type {
  CollectedEvent,
  CollectedQuestion,
  CollectedUpdate,
} from './OutputCollector.js';

// Auto-response system
export { AutoResponder } from './AutoResponder.js';
export type {
  ResponseStrategy,
  AutoResponderOptions,
  ResponseLogEntry,
} from './AutoResponder.js';

// Player factory
export { PlayerFactory } from './PlayerFactory.js';
export type { LifeStage, PlayerFactoryOptions } from './PlayerFactory.js';

// Romance simulation
export { RomanceSimulator } from './RomanceSimulator.js';
export type { RomanceSimulatorOptions, RomanceLogEntry } from './RomanceSimulator.js';
