type TAttemptsStateParameters = { limit: number; onStatusChange: ({ isInProgress }: { isInProgress: boolean; }) => void; }; /** * Состояние счётчика попыток редиала. * * Инварианты: * - счётчик монотонно растёт от 0 до `limit` (или без ограничений при `limit === 0`); * - `isInProgress` отражает активную попытку и эмитит изменения только при реальных переходах, * чтобы наружу уходил корректный `status-changed`. */ declare class AttemptsState { private countInner; private readonly initialCount; private readonly limitInner; private isInProgress; private readonly onStatusChange; constructor(parameters: TAttemptsStateParameters); get count(): number; get limit(): number; get isAttemptInProgress(): boolean; hasLimitReached(): boolean; startAttempt(): void; finishAttempt(): void; increment(): void; reset(): void; } export default AttemptsState;