import { TReconnectReason } from './types'; export type TCoalescingDecision = { shouldRequest: true; generation: number; currentPriority: number; } | { shouldRequest: false; generation: number; currentPriority: number; coalescedBy: TReconnectReason; coalescedByPriority: number; }; export default class ReconnectRequestCoalescer { private generation; private lastRequest; private readonly coalesceWindowMs; constructor({ coalesceWindowMs }: { coalesceWindowMs: number; }); register(reason: TReconnectReason): TCoalescingDecision; reset(): void; }