import { Game, Timeframe } from "hive-bedrock-data"; import { ProcessedPlayerResponse } from "./player.js"; export interface ProcessedGameBED { id: Game.BedWars; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; final_kills: number; beds_destroyed: number; prestige: number; } export interface ProcessedGameDROP { id: Game.BlockDrop; xp: number; played: number; victories: number; losses: number; win_percentage: number; deaths: number; blocks_destroyed: number; powerups_collected: number; vaults_used: number; } export interface ProcessedGamePARTY { id: Game.BlockParty; xp: number; played: number; victories: number; losses: number; win_percentage: number; powerups_collected: number; rounds_survived: number; } export interface ProcessedGameCTF { id: Game.CaptureTheFlag; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; assists: number; flags_captured: number; flags_returned: number; } export interface ProcessedGameDR { id: Game.DeathRun; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; checkpoints: number; activated: number; } export interface ProcessedGameGRAV { id: Game.Gravity; xp: number; played: number; victories: number; losses: number; win_percentage: number; deaths: number; maps_completed: number; maps_completed_without_dying: number; } export interface ProcessedGameGROUND { id: Game.GroundWars; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; blocks_destroyed: number; blocks_placed: number; projectiles_fired: number; } export interface ProcessedGameBUILD { id: Game.BuildBattle; xp: number; played: number; victories: number; losses: number; win_percentage: number; rating_meh_received: number; rating_okay_received: number; rating_good_received: number; rating_great_received: number; rating_love_received: number; total_ratings: number; } export interface ProcessedGameHIDE { id: Game.HideAndSeek; xp: number; played: number; victories: number; losses: number; win_percentage: number; deaths: number; hider_kills: number; seeker_kills: number; kpg: number; } export interface ProcessedGameMURDER { id: Game.MurderMystery; xp: number; played: number; victories: number; losses: number; win_percentage: number; murders: number; deaths: number; edr: number; coins: number; murderer_eliminations: number; prestige: number; } export interface ProcessedGameSKY { id: Game.SkyWars; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; mystery_chests_destroyed: number; ores_mined: number; spells_used: number; prestige: number; } export interface ProcessedGameSKYKITS { id: Game.SkyWarsKits; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; mystery_chests_destroyed: number; ores_mined: number; spells_used: number; selected_kit: string; } export interface ProcessedGameSKYCLASSIC { id: Game.SkyWarsClassic; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; selected_kit: string; } export interface ProcessedGameSG { id: Game.SurvivalGames; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; cows: number; deathmatches: number; crates: number; teleporters_used: number; launchpads_used: number; flares_used: number; } export interface ProcessedGameBRIDGE { id: Game.TheBridge; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; goals: number; } export interface ProcessedGameWARS { id: Game.TreasureWars; xp: number; played: number; victories: number; losses: number; win_percentage: number; kills: number; deaths: number; kdr: number; final_kills: number; treasure_destroyed: number; prestige: number; } export interface ProcessedGamePARKOUR { id: Game.ParkourWorlds; worlds: { name: string; parkour_stars: number; courses: { name: string; best_run_time: number; best_checkpoint_times: { position: { x: number; y: number; z: number; }; time: number; }[]; collected_stars: { x: number; y: number; z: number; }[]; course_stars: number; }[]; }[]; total_stars: number; } export type AdditionalStatistics = (T extends Timeframe.AllTime ? { level: number; } & (L extends true ? {} : { first_played: number; }) : { position: number; username: string; }) & (L extends true ? { position: number; username: string; UUID: string; } : {}); export interface ProcessedGame { [Game.BedWars]: ProcessedGameBED & AdditionalStatistics; [Game.BlockDrop]: ProcessedGameDROP & AdditionalStatistics; [Game.BlockParty]: ProcessedGamePARTY & AdditionalStatistics; [Game.CaptureTheFlag]: ProcessedGameCTF & AdditionalStatistics; [Game.DeathRun]: ProcessedGameDR & AdditionalStatistics; [Game.Gravity]: ProcessedGameGRAV & AdditionalStatistics; [Game.GroundWars]: ProcessedGameGROUND & AdditionalStatistics; [Game.BuildBattle]: ProcessedGameBUILD & AdditionalStatistics; [Game.HideAndSeek]: ProcessedGameHIDE & AdditionalStatistics; [Game.MurderMystery]: ProcessedGameMURDER & AdditionalStatistics; [Game.SkyWars]: ProcessedGameSKY & AdditionalStatistics; [Game.SkyWarsClassic]: ProcessedGameSKYCLASSIC & AdditionalStatistics; [Game.SkyWarsKits]: ProcessedGameSKYKITS & AdditionalStatistics; [Game.SurvivalGames]: ProcessedGameSG & AdditionalStatistics; [Game.TheBridge]: ProcessedGameBRIDGE & AdditionalStatistics; [Game.TreasureWars]: ProcessedGameWARS & AdditionalStatistics; [Game.ParkourWorlds]: L extends true ? never : T extends Timeframe.AllTime ? ProcessedGamePARKOUR : never; [Game.MobGame]: never; [Game.GhostInvasion]: never; } export declare function processGame(game: G, timeframe: T, isLeaderboard: L, response: any): ProcessedGame[G] | null; export interface ProcessedAllGamesResponse { player: ProcessedPlayerResponse; statistics: { [G in Game]: ProcessedGame[G] | null; }; } export interface ProcessedMonthlyGamesResponse { statistics: { [G in Game]: ProcessedGame[G] | null; }; } export interface AvailableLeaderboard { month: string; year: string; month_number: number; resource: string; } export type AvailableLeaderboardResponse = AvailableLeaderboard[]; //# sourceMappingURL=game.d.ts.map