export interface ReconnectionOptions { maxRetries?: number; baseDelayMs?: number; maxDelayMs?: number; } export declare class ReconnectionManager { private readonly opts; private attempt; private timer; private cancelled; private running; private pendingResolve; constructor(opts?: ReconnectionOptions); /** Start the retry cycle. Resolves true on success, false on exhausted/cancelled. */ start(connectFn: () => Promise, onExhausted: () => void): Promise; /** Cancel further retries. */ cancel(): void; /** Get the current attempt number (0-based). */ getAttempt(): number; /** Whether the manager is currently running. */ isRunning(): boolean; /** Calculate delay for a given attempt number with exponential backoff + cap. */ getDelayMs(attemptNum: number): number; private tryConnect; private scheduleRetry; }