/** * Schematics for Battle JSON */ interface MemberObject { id: string; level: number; gender: "male" | "female" | "none"; moves: string[]; name: string; } interface TeamObject { name: string; trainer: string; team: MemberObject[]; } interface BattleObject { player: TeamObject; opponent: TeamObject; winMessage?: string; battleMusic?: string; } interface AnimObject { delay: number[]; ref: number[]; } interface FighterObject { baseAtk: number; baseDef: number; baseHp: number; baseSpAtk: number; baseSpDef: number; baseSpd: number; cry: string; front: string; back: string; name: string; types: string[]; icon?: number; music?: string; anim: AnimObject; } interface BattleInfo { info: BattleObject; data: { [url: string]: FighterObject; }; } declare function cloneBattleObject(obj: BattleObject | null): BattleObject | null; declare function objectsEqual(obj1: BattleObject | null, obj2: BattleObject | null): boolean; export { MemberObject, TeamObject, BattleObject, FighterObject, AnimObject, BattleInfo, cloneBattleObject, objectsEqual };