export interface RepeatState { finished: number; total: number; } /** * RepeatStateManager manage repeating while firing. */ export declare class RepeatingManager { private repeatStateStack; private repeatMap; constructor(); /** * Get repeat state with name. * If name is not given, return latest repeat state. * If not repeating, return { finished: 0, total: 1 }. * * @param name Repeating name */ get(name?: string): RepeatState; /** * Notify start repeating. * Called by guns. * Return input repeat state. * * @param state Repeat state * @param name Repeat state name */ start(state: RepeatState, name?: string): RepeatState; /** * Notify finish repeating. * Started repeating must be finished. * * @param state Repeat state * @param name Repeat state name */ private pushToMap; /** Copy states with manager. */ finish(state: RepeatState, name?: string): void; private popFromMap; /** Copy states. */ copy(): RepeatingManager; }