import { Logger } from 'log4js'; import { RequestConfig, Response } from '../../dex-helper/irequest-wrapper'; export declare class SkippingRequest { message: string; constructor(message?: string); } export type RequestInfo = { requestFunc?: (options: RequestConfig) => Promise | SkippingRequest>; requestOptions: RequestConfig; caster: (data: unknown) => T; authenticate?: (options: RequestConfig) => RequestConfig; excludedFieldsCaching?: string[]; }; export type RequestInfoWithHandler = { info: RequestInfo; handler: (data: T) => void; }; export declare class WebSocketFetcher { private logger; private requests; private timeoutInterval; private reconnectDelay; private pingTimeout; lastFetchSucceeded: boolean; private stop; private connection; constructor(requestsInfo: RequestInfoWithHandler, logger: Logger, timeoutInterval?: number, reconnectDelay?: number); private connected; private heartbeat; private onClose; private onError; private onMessage; private connect; reconnectWithDelay(): void; reconnect(): void; startPolling(): void; stopPolling(): void; isPolling(): boolean; }