/**
 * CharacterState — immutable record of all character state at a point in time.
 *
 * Groups the five character properties into a single value type,
 * keeping the Character constructor at one parameter.
 */
import type { Health } from '../value-objects/Health.ts';
import type { Level } from '../value-objects/Level.ts';
import type { Status } from '../value-objects/Status.ts';
import type { Faction } from '../factions/Faction.ts';

export type CharacterState = {
  readonly name: string;
  readonly health: Health;
  readonly status: Status;
  readonly level: Level;
  readonly factions: ReadonlySet<Faction>;
};
