import { Gun } from "../../gun"; import { FiringState } from "../../firing-state"; import { Owner } from "../../owner"; import { PlayerLike } from "../../player"; export interface FiringStateUpdater { updateFiringState(owner: Owner, state: FiringState): void; } /** * SetterGun update FiringState when played. * Played and effects before fired. */ export declare class SetterGun implements Gun { private readonly updater; /** * @param updater Used when played. */ constructor(updater: FiringStateUpdater); play(owner: Owner, player: PlayerLike, state: FiringState): IterableIterator; }