// ─── 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,
  SummonedGolem,
  GolemancyState,
  GameState,
  GameActionType,
  ActivityEventType,
  ActivityLogEntry,
  EquipmentSpellState,
} from './types/game';

// ─── New: Memory Type Definition ─────────────────────────────────────────────
export interface Memory {
  skillId: string;
  level: number;
  tier: number;
  upgrades: string[];
}
