import { Gun } from "../../gun"; import { FiringState } from "../../firing-state"; import { TConstantOrLazy } from "../../lazyEvaluative"; import { Owner } from "../../owner"; import { PlayerLike } from "../../player"; /** * Repeat firing properties. */ export interface TRepeatOption { /** Repeat times. */ times: TConstantOrLazy; /** Repeat interval. */ interval: TConstantOrLazy; /** Repeating name. Used by LazyEvaluative. */ name?: string; } export declare class Repeat implements Gun { private readonly option; private readonly gun; constructor(option: TRepeatOption, gun: Gun); play(owner: Owner, player: PlayerLike, state: FiringState): IterableIterator; private calcRepeatTimes; private calcInterval; }