import { INetworkEventsSubscriber, TNetworkEventPolicy, TNetworkProbe, TParametersAutoConnect, TReconnectReason } from './types'; type TNetworkEventsReconnectorParameters = { subscriber: INetworkEventsSubscriber; offlineGraceMs?: number; onChangePolicy?: TNetworkEventPolicy; onOnlinePolicy?: TNetworkEventPolicy; probe?: TNetworkProbe; requestReconnect: (parameters: TParametersAutoConnect, reason: TReconnectReason) => void; stopConnection: () => void; }; declare class NetworkEventsReconnector { private readonly subscriber; private readonly offlineGraceMs; private readonly onChangePolicy; private readonly onOnlinePolicy; private readonly probe; private readonly requestReconnect; private readonly stopConnection; private parameters; private offlineTimer; private isSubscribed; private isProbeInFlight; constructor({ subscriber, offlineGraceMs, onChangePolicy, onOnlinePolicy, probe, requestReconnect, stopConnection, }: TNetworkEventsReconnectorParameters); start(parameters: TParametersAutoConnect): void; setParameters(parameters: TParametersAutoConnect): void; stop(): void; private readonly handleOnline; private readonly handleChange; private readonly handleOffline; private applyPolicy; private requestReconnectIfAvailable; private cancelOfflineTimer; } export default NetworkEventsReconnector;