import { BaseDataClient } from "./BaseDataClient"; import { Observer } from "../Observer"; import { CryptoMarketDataRequest } from "../messages/requestAndResult/CryptoMarketDataRequest"; import { CryptoOrderBook } from "../messages/market/CryptoOrderBook"; import { CryptoOrderBookUpdate } from "../messages/market/CryptoOrderBookUpdate"; import { CryptoPrint } from "../messages/market/CryptoPrint"; import { CryptoQuote } from "../messages/market/CryptoQuote"; import { CryptoTicker } from "../messages/market/CryptoTicker"; import { CryptoMarketDataRequestReject } from "../messages/requestAndResult/CryptoMarketDataRequestReject"; /** * Client for crypto market data. */ export interface CryptoMarketDataClient extends BaseDataClient { /** * Triggers when CryptoOrderBook was received. * @return {Observer} * @constructor */ readonly OnOrderBook: Observer; /** * Triggers when CryptoOrderBookUpdate was received. * @return {Observer} * @constructor */ readonly OnOrderBookUpdate: Observer; /** * Triggers when CryptoPrint was received. * @return {Observer} * @constructor */ readonly OnPrint: Observer; /** * Triggers when CryptoQuote was received. * @return {Observer} * @constructor */ readonly OnQuote: Observer; /** * Triggers when CryptoTicker was received. * @return {Observer} * @constructor */ readonly OnTicker: Observer; /** * Triggers when CryptoMarketDataRequestReject was received. * @return {Observer} * @constructor */ readonly OnCryptoMarketDataRequestReject: Observer; /** * Sends request for crypto market data. * @param {CryptoMarketDataRequest} request - The request for crypto market data. * @constructor */ SendMarketDataRequest (request: CryptoMarketDataRequest): void; }