/// import { EventEmitter } from "events"; import semaphore from "semaphore"; import { Market } from "./Market"; import { IClient } from "./IClient"; import { SubscriptionType } from "./SubscriptionType"; export declare abstract class BasicMultiClient extends EventEmitter { name: string; hasTickers: boolean; hasTrades: boolean; hasCandles: boolean; hasLevel2Snapshots: boolean; hasLevel2Updates: boolean; hasLevel3Snapshots: boolean; hasLevel3Updates: boolean; throttleMs: number; sem: semaphore.Semaphore; auth: any; protected _clients: Map>; constructor(); reconnect(): Promise; close(): Promise; protected abstract _createBasicClient(clientArgs: any): IClient; subscribeTicker(market: Market): void; unsubscribeTicker(market: Market): Promise; subscribeCandles(market: Market): void; unsubscribeCandles(market: Market): Promise; subscribeTrades(market: any): void; unsubscribeTrades(market: Market): Promise; subscribeLevel2Updates(market: Market): void; unsubscribeLevel2Updates(market: Market): Promise; subscribeLevel2Snapshots(market: Market): void; unsubscribeLevel2Snapshots(market: Market): Promise; subscribeLevel3Snapshots: (...args: any[]) => any; unsubscribeLevel3Snapshots: (...args: any[]) => any; subscribeLevel3Updates: (...args: any[]) => any; unsubscribeLevel3Updates: (...args: any[]) => any; protected _createBasicClientThrottled(clientArgs: any): Promise; protected _subscribe(market: Market, map: Map>, subscriptionType: SubscriptionType): Promise; }