// ─── Game Types (Barrel Re-Exports) ──────────────────────────────────────────
// Re-exports all core game types from the types/ subdirectory

// ─── Core Game Types (re-exported from types/ subdirectory) ─────────────────
export type { EquipmentCategory } from './data/equipment/types';

export type {
  ElementCategory,
  ElementDef,
  ElementState,
} from './types/elements';

export type {
  AttunementSlot,
  AttunementDef,
  AttunementState,
  GuardianBoon,
  GuardianDef,
} from './types/attunements';

export type {
  SpellCost,
  SpellDef,
  SpellEffect,
  SpellState,
} from './types/spells';

export type {
  EquipmentDef,
  EquipmentInstance,
  AppliedEnchantment,
  EnchantmentDesign,
  DesignEffect,
  DesignProgress,
  PreparationProgress,
  ApplicationProgress,
  EquipmentCraftingProgress,
  EquipmentSpellState,
  BlueprintDef,
  LootInventory,
} from './types/equipment';

export type {
  RoomType,
  EnemyState,
  FloorState,
  AchievementDef,
  AchievementState,
  GameAction,
  ScheduleBlock,
  StudyTarget,
  GolemancyState,
  GolemLoadoutEntry,
  RuntimeActiveGolem,
  SerializedGolemDesign,
  GameActionType,
  ActivityEventType,
  ActivityLogEntry,
  ActiveEffect,
} from './types/game';

export type { PrestigeDef } from './types/game';

export type { EquipmentSlot } from './types/equipmentSlot';

// ─── Skill Upgrade Choice ────────────────────────────────────────────────────
export interface SkillUpgradeChoice {
  id: string;
  name: string;
  desc: string;
  effect: {
    type: 'bonus' | 'multiplier' | 'special';
    stat?: string;
    value?: number;
    specialDesc?: string;
  };
}

