import { AxiosRequestConfig } from 'axios'; import { CoinMAccountTradeParams, CoinMOpenInterest, CoinMPositionTrade, CoinMSymbolOrderBookTicker, PositionRisk, SymbolOrPair } from './types/coin'; import { BasicSymbolPaginatedParams, BasicSymbolParam, GetOrderParams, OrderBookParams, HistoricalTradesParams, KlinesParams, Kline, RecentTradesParams, CancelOrderParams, SymbolFromPaginatedRequestFromId, GetAllOrdersParams, GenericCodeMsgError, GetOrderModifyHistoryParams, SymbolPrice } from './types/shared'; import { ContinuousContractKlinesParams, IndexPriceKlinesParams, SymbolKlinePaginatedParams, FuturesDataPaginatedParams, NewFuturesOrderParams, CancelMultipleOrdersParams, CancelOrdersTimeoutParams, SetLeverageParams, SetMarginTypeParams, SetIsolatedMarginParams, GetPositionMarginChangeHistoryParams, GetIncomeHistoryParams, GetForceOrdersParams, FuturesExchangeInfo, FuturesOrderBook, RawFuturesTrade, AggregateFuturesTrade, FundingRateHistory, ModeChangeResult, PositionModeParams, PositionModeResponse, NewOrderResult, NewOrderError, OrderResult, CancelFuturesOrderResult, CancelAllOpenOrdersResult, SetLeverageResult, SetIsolatedMarginResult, ForceOrderResult, SymbolLeverageBracketsResult, IncomeHistory, RebateDataOverview, SetCancelTimeoutResult, ChangeStats24hr, MarkPrice, FuturesCoinMTakerBuySellVolumeParams, FuturesCoinMBasisParams, ModifyFuturesOrderResult, ModifyFuturesOrderParams, OrderAmendment, FuturesCoinMAccountBalance, FuturesCoinMAccountInformation, UserCommissionRate } from './types/futures'; import { RestClientOptions } from './util/requestUtils'; import BaseRestClient from './util/BaseRestClient'; export declare class CoinMClient extends BaseRestClient { private clientId; constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig, useTestnet?: boolean); /** * Abstraction required by each client to aid with time sync / drift handling */ getServerTime(): Promise; /** * * Market Data Endpoints * **/ testConnectivity(): Promise<{}>; getExchangeInfo(): Promise; getOrderBook(params: OrderBookParams): Promise; getRecentTrades(params: RecentTradesParams): Promise; getHistoricalTrades(params: HistoricalTradesParams): Promise; getAggregateTrades(params: SymbolFromPaginatedRequestFromId): Promise; /** * Index Price and Mark Price */ getMarkPrice(params?: Partial): Promise; getFundingRateHistory(params?: Partial): Promise; getKlines(params: KlinesParams): Promise; getContinuousContractKlines(params: ContinuousContractKlinesParams): Promise; getIndexPriceKlines(params: IndexPriceKlinesParams): Promise; getMarkPriceKlines(params: SymbolKlinePaginatedParams): Promise; /** * @deprecated use get24hrChangeStatistics() instead (method without the typo) */ get24hrChangeStatististics(params?: Partial): Promise; get24hrChangeStatistics(params?: Partial): Promise; getSymbolPriceTicker(params?: Partial): Promise; getSymbolOrderBookTicker(params?: SymbolOrPair): Promise; getOpenInterest(params: { symbol: string; }): Promise; getOpenInterestStatistics(params: FuturesDataPaginatedParams): Promise; getTopTradersLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise; getTopTradersLongShortPositionRatio(params: FuturesDataPaginatedParams): Promise; getGlobalLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise; getTakerBuySellVolume(params: FuturesCoinMTakerBuySellVolumeParams): Promise; getCompositeSymbolIndex(params: FuturesCoinMBasisParams): Promise; /** * * USD-Futures Account/Trade Endpoints * **/ setPositionMode(params: PositionModeParams): Promise; getCurrentPositionMode(): Promise; submitNewOrder(params: NewFuturesOrderParams): Promise; /** * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue */ modifyOrder(params: ModifyFuturesOrderParams): Promise; /** * Warning: max 5 orders at a time! This method does not throw, instead it returns individual errors in the response array if any orders were rejected. * * Known issue: `quantity` and `price` should be sent as strings */ submitMultipleOrders(orders: NewFuturesOrderParams[]): Promise<(NewOrderResult | NewOrderError)[]>; /** * Warning: max 5 orders at a time! This method does not throw, instead it returns individual errors in the response array if any orders were rejected. */ modifyMultipleOrders(orders: ModifyFuturesOrderParams[]): Promise<(ModifyFuturesOrderResult | NewOrderError)[]>; getOrderModifyHistory(params: GetOrderModifyHistoryParams): Promise; getOrder(params: GetOrderParams): Promise; cancelOrder(params: CancelOrderParams): Promise; cancelAllOpenOrders(params: BasicSymbolParam): Promise; cancelMultipleOrders(params: CancelMultipleOrdersParams): Promise<(CancelFuturesOrderResult | GenericCodeMsgError)[]>; setCancelOrdersOnTimeout(params: CancelOrdersTimeoutParams): Promise; getCurrentOpenOrder(params: GetOrderParams): Promise; getAllOpenOrders(params?: Partial): Promise; getAllOrders(params: GetAllOrdersParams): Promise; getBalance(): Promise; getAccountInformation(): Promise; setLeverage(params: SetLeverageParams): Promise; setMarginType(params: SetMarginTypeParams): Promise; setIsolatedPositionMargin(params: SetIsolatedMarginParams): Promise; getPositionMarginChangeHistory(params: GetPositionMarginChangeHistoryParams): Promise; getPositions(): Promise; getAccountTrades(params: CoinMAccountTradeParams & { orderId?: number; }): Promise; getIncomeHistory(params?: GetIncomeHistoryParams): Promise; /** * Notional Bracket for Symbol (NOT "pair") */ getNotionalAndLeverageBrackets(params?: Partial): Promise; getForceOrders(params?: GetForceOrdersParams): Promise; getADLQuantileEstimation(params?: Partial): Promise; getAccountComissionRate(params: BasicSymbolParam): Promise; /** * * Broker Futures Endpoints * **/ getBrokerIfNewFuturesUser(brokerId: string, type?: 1 | 2): Promise<{ brokerId: string; rebateWorking: boolean; ifNewUser: boolean; }>; setBrokerCustomIdForClient(customerId: string, email: string): Promise<{ customerId: string; email: string; }>; getBrokerClientCustomIds(customerId: string, email: string, page?: number, limit?: number): Promise; getBrokerUserCustomId(brokerId: string): Promise; getBrokerRebateDataOverview(type?: 1 | 2): Promise; getBrokerUserTradeVolume(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise; getBrokerRebateVolume(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise; getBrokerTradeDetail(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise; /** * * User Data Stream Endpoints * **/ getFuturesUserDataListenKey(): Promise<{ listenKey: string; }>; keepAliveFuturesUserDataListenKey(): Promise<{}>; closeFuturesUserDataListenKey(): Promise<{}>; /** * Validate syntax meets requirements set by binance. Log warning if not. */ private validateOrderId; }