import { Weapon } from "../../models/Weapon"; import { Logger } from "../../utils/Logger"; import { GameState } from "../gamestate/GameState"; import { DifferBase, DiffOptions, EmitterContext } from "./DifferBase"; export interface WeaponDifferOptions { logger?: Logger | null; } export declare class WeaponDiffer extends DifferBase { protected logger: Logger | Console; constructor({ logger }?: WeaponDifferOptions); /** * Compara cambios en el arma activa y emite eventos de Change of ammoClip y ammoReserve. * * @param {GameState} prev State anterior del juego * @param {GameState} curr State actual del juego * @param {Object} emitter Contexto de emisión de eventos * @param {Object} [options] Opcional. Objeto con { previously, added } */ diff(prev: GameState, curr: GameState, emitter: EmitterContext, options?: DiffOptions): void; diffAllPlayers(prev: GameState, curr: GameState, emitter: EmitterContext): void; }