/** * Player statistics value object (#528, Phase 2). * * Immutable summary derived from a player's `stats/.json` and * `advancements/.json` files. Parsing is pure (plain objects in, no * fs) so it stays in the domain layer — the repository adapter does the I/O * and hands the parsed JSON to `fromMinecraftJson`. */ export interface PlayerStatsProps { playTimeSeconds: number; deaths: number; mobKills: number; playerKills: number; distanceMeters: number; blocksMined: number; itemsCrafted: number; advancementsCompleted: number; } export type PlayerStatsJson = PlayerStatsProps; export declare class PlayerStats { private readonly props; private constructor(); static create(props: PlayerStatsProps): PlayerStats; get playTimeSeconds(): number; get deaths(): number; get mobKills(): number; get playerKills(): number; get distanceMeters(): number; get blocksMined(): number; get itemsCrafted(): number; get advancementsCompleted(): number; toJSON(): PlayerStatsJson; /** * Parse the vanilla 1.13+ `stats/.json` (`statsJson`) and, optionally, * `advancements/.json` (`advancementsJson`) shapes into a * `PlayerStats`. Missing sections/files default to 0. */ static fromMinecraftJson(statsJson: unknown, advancementsJson?: unknown): PlayerStats; } //# sourceMappingURL=PlayerStats.d.ts.map