import { Logger } from 'log4js'; import { IRequestWrapper } from '../../dex-helper'; 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 Fetcher { private requestWrapper; private pollIntervalMs; private logger; private requests; lastFetchSucceeded: boolean; private failedCount; private stop; constructor(requestWrapper: IRequestWrapper, requestsInfo: RequestInfoWithHandler | RequestInfoWithHandler[], pollIntervalMs: number, logger: Logger); fetch(force?: boolean): Promise; private getUrls; startPolling(): void; stopPolling(): void; isPolling(): boolean; }