import { Gun } from "../../gun"; import { FiringState } from "../../firing-state"; import { FireData } from "../../fire-data"; import { Owner } from "../../owner"; import { PlayerLike } from "../../player"; export interface FireDataModifier { createModifier(state: FiringState): (fireData: FireData) => void; } /** * ModifierGun update FireData when fired. * Played before fire, and modify when fired. */ export declare class ModifierGun implements Gun { private readonly modifier; /** * @param modifier Used modifier */ constructor(modifier: FireDataModifier); play(_owner: Owner, player: PlayerLike, state: FiringState): IterableIterator; }