UNPKG

ccxws

Version:

Websocket client for 37 cryptocurrency exchanges

41 lines (40 loc) 1.74 kB
/// <reference types="node" /> 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<string, Promise<IClient>>; constructor(); reconnect(): Promise<void>; close(): Promise<void>; protected abstract _createBasicClient(clientArgs: any): IClient; subscribeTicker(market: Market): void; unsubscribeTicker(market: Market): Promise<void>; subscribeCandles(market: Market): void; unsubscribeCandles(market: Market): Promise<void>; subscribeTrades(market: any): void; unsubscribeTrades(market: Market): Promise<void>; subscribeLevel2Updates(market: Market): void; unsubscribeLevel2Updates(market: Market): Promise<void>; subscribeLevel2Snapshots(market: Market): void; unsubscribeLevel2Snapshots(market: Market): Promise<void>; subscribeLevel3Snapshots: (...args: any[]) => any; unsubscribeLevel3Snapshots: (...args: any[]) => any; subscribeLevel3Updates: (...args: any[]) => any; unsubscribeLevel3Updates: (...args: any[]) => any; protected _createBasicClientThrottled(clientArgs: any): Promise<unknown>; protected _subscribe(market: Market, map: Map<string, Promise<IClient>>, subscriptionType: SubscriptionType): Promise<void>; }