import { EventEmitter } from "events"; import { Core } from "../Core"; import { Logger } from "../common/Logger"; import RequestRateLimiter from "./request-rate-limiter/index"; import { LevelLogs } from "../common/LevelLogs.js"; export {}; declare class RequestForQueue { id: string; method: Function; params: IArguments; label: string; constructor(); } /** * */ declare class HttpManager extends LevelLogs { _logger: Logger; private _eventEmitter; private _imOptions; private _options; private lockEngine; private lockKeyNbHttpAdded; nbHttpAdded: number; nbRunningReq: number; started: boolean; retryAfterTime: number; retryAfterEndTime: number; retryAfterStartTime: number; _core: any; limiter: RequestRateLimiter; static getClassName(): string; getClassName(): string; static getAccessorName(): string; getAccessorName(): string; constructor(_eventEmitter: EventEmitter, _logger: Logger); init(_options: any, _core: Core): Promise; checkHTTPStatus(): Promise<{ nbHttpAdded: number; httpQueueSize: number; nbRunningReq: number; maxSimultaneousRequests: number; nbReqInQueue: number; retryAfterTime: number; retryAfterEndTime: number; retryAfterStartTime: number; }>; locknbRunningReq(fn: any): any; incNbRunningReq(): any; decNbRunningReq(): any; /** * * @param {} req {id, method, params, resolve, reject} * @return {Promise} */ add(req: RequestForQueue): Promise; stop(): void; } export { RequestForQueue, HttpManager };