import { AxiosRequestConfig } from 'axios'; import { FundingRate } from './types/coin'; import { AggregateFuturesTrade, Basis, BasisParams, CancelAllOpenOrdersResult, CancelFuturesOrderResult, CancelMultipleOrdersParams, CancelOrdersTimeoutParams, ChangeStats24hr, ContinuousContractKlinesParams, ForceOrderResult, FundingRateHistory, FuturesAccountBalance, FuturesAccountConfig, FuturesAccountInformation, FuturesConvertOrderStatus, FuturesConvertPair, FuturesConvertQuote, FuturesConvertQuoteRequest, FuturesDataPaginatedParams, FuturesExchangeInfo, FuturesOrderBook, FuturesPosition, FuturesPositionTrade, FuturesSymbolOrderBookTicker, FuturesTradeHistoryDownloadId, FuturesTransactionDownloadLink, GetForceOrdersParams, GetFuturesOrderModifyHistoryParams, GetIncomeHistoryParams, GetPositionMarginChangeHistoryParams, HistoricOpenInterest, IncomeHistory, IndexPriceConstituents, IndexPriceKlinesParams, MarkPrice, ModeChangeResult, ModifyFuturesOrderParams, ModifyFuturesOrderResult, ModifyOrderParams, MultiAssetModeResponse, MultiAssetsMode, NewFuturesOrderParams, NewOrderError, NewOrderResult, OpenInterest, OrderResult, PortfolioMarginProAccountInfo, PositionModeParams, PositionModeResponse, QuarterlyContractSettlementPrice, RawFuturesTrade, RebateDataOverview, SetCancelTimeoutResult, SetIsolatedMarginParams, SetIsolatedMarginResult, SetLeverageParams, SetLeverageResult, SetMarginTypeParams, SymbolConfig, SymbolKlinePaginatedParams, SymbolLeverageBracketsResult, UserCommissionRate, UserForceOrder } from './types/futures'; import { BasicSymbolPaginatedParams, BasicSymbolParam, CancelOrderParams, GenericCodeMsgError, GetAllOrdersParams, GetOrderParams, HistoricalTradesParams, Kline, KlinesParams, OrderBookParams, RecentTradesParams, SymbolFromPaginatedRequestFromId, SymbolPrice } from './types/shared'; import BaseRestClient from './util/BaseRestClient'; import { RestClientOptions } from './util/requestUtils'; export declare class USDMClient 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 - Rest API * **/ testConnectivity(): Promise; getExchangeInfo(): Promise; getOrderBook(params: OrderBookParams): Promise; getRecentTrades(params: RecentTradesParams): Promise; getHistoricalTrades(params: HistoricalTradesParams): Promise; getAggregateTrades(params: SymbolFromPaginatedRequestFromId): Promise; getKlines(params: KlinesParams): Promise; getContinuousContractKlines(params: ContinuousContractKlinesParams): Promise; getIndexPriceKlines(params: IndexPriceKlinesParams): Promise; getMarkPriceKlines(params: SymbolKlinePaginatedParams): Promise; getPremiumIndexKlines(params: SymbolKlinePaginatedParams): Promise; getMarkPrice(params: BasicSymbolParam): Promise; getMarkPrice(): Promise; getFundingRateHistory(params?: Partial): Promise; getFundingRates(): Promise; /** * @deprecated use get24hrChangeStatistics() instead (method without the typo) */ get24hrChangeStatististics(params?: Partial): Promise; get24hrChangeStatistics(params: Partial): Promise; get24hrChangeStatistics(params?: Partial): Promise; get24hrChangeStatistics(params: Partial): Promise; getSymbolPriceTicker(params?: Partial): Promise; getSymbolPriceTickerV2(params?: Partial): Promise; getSymbolOrderBookTicker(params?: Partial): Promise; getQuarterlyContractSettlementPrices(params: { pair: string; }): Promise; getOpenInterest(params: BasicSymbolParam): Promise; getOpenInterestStatistics(params: FuturesDataPaginatedParams): Promise; getTopTradersLongShortPositionRatio(params: FuturesDataPaginatedParams): Promise; getTopTradersLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise; getGlobalLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise; getTakerBuySellVolume(params: FuturesDataPaginatedParams): Promise; getHistoricalBlvtNavKlines(params: SymbolKlinePaginatedParams): Promise; getCompositeSymbolIndex(params?: Partial): Promise; getMultiAssetsModeAssetIndex(params?: { symbol?: string; }): Promise; /** * Possibly @deprecated, found only in old docs **/ getBasis(params: BasisParams): Promise; /** * Possibly @deprecated, found only in old docs **/ getIndexPriceConstituents(params: { symbol: string; }): Promise; /** * * TRADE endpoints - Rest API * **/ submitNewOrder(params: NewFuturesOrderParams): 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)[]>; /** * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue */ modifyOrder(params: ModifyFuturesOrderParams): Promise; modifyMultipleOrders(orders: ModifyOrderParams[]): Promise; getOrderModifyHistory(params: GetFuturesOrderModifyHistoryParams): Promise; cancelOrder(params: CancelOrderParams): Promise; cancelMultipleOrders(params: CancelMultipleOrdersParams): Promise<(CancelFuturesOrderResult | GenericCodeMsgError)[]>; cancelAllOpenOrders(params: BasicSymbolParam): Promise; setCancelOrdersOnTimeout(params: CancelOrdersTimeoutParams): Promise; getOrder(params: GetOrderParams): Promise; getAllOrders(params: GetAllOrdersParams): Promise; getAllOpenOrders(params?: Partial): Promise; getCurrentOpenOrder(params: GetOrderParams): Promise; getForceOrders(params?: GetForceOrdersParams): Promise; getAccountTrades(params: SymbolFromPaginatedRequestFromId & { orderId?: number; }): Promise; setMarginType(params: SetMarginTypeParams): Promise; setPositionMode(params: PositionModeParams): Promise; setLeverage(params: SetLeverageParams): Promise; setMultiAssetsMode(params: { multiAssetsMargin: MultiAssetsMode; }): Promise; setIsolatedPositionMargin(params: SetIsolatedMarginParams): Promise; /** * @deprecated * Use getPositionsV3() instead **/ getPositions(params?: Partial): Promise; getPositionsV3(params?: { symbol?: string; }): Promise; getADLQuantileEstimation(params?: Partial): Promise; getPositionMarginChangeHistory(params: GetPositionMarginChangeHistoryParams): Promise; /** * * ACCOUNT endpoints - Rest API * **/ getBalanceV3(): Promise; /** * @deprecated * Use getBalanceV3() instead **/ getBalance(): Promise; getAccountInformationV3(): Promise; /** * @deprecated * Use getAccountInformationV3() instead **/ getAccountInformation(): Promise; /** * @deprecated Please use `getAccountCommissionRate()` instead. This will be removed in the next major release. */ getAccountComissionRate(params: BasicSymbolParam): Promise; getAccountCommissionRate(params: BasicSymbolParam): Promise; getFuturesAccountConfig(): Promise; getFuturesSymbolConfig(params: { symbol?: string; }): Promise; getUserForceOrders(): Promise; /** * Contrary to what the docs say - if symbol is provided, this returns an array with length 1 (assuming the symbol exists) */ getNotionalAndLeverageBrackets(params?: Partial): Promise; getMultiAssetsMode(): Promise; getCurrentPositionMode(): Promise; getIncomeHistory(params?: GetIncomeHistoryParams): Promise; getApiQuantitativeRulesIndicators(params?: Partial): Promise; getFuturesTransactionHistoryDownloadId(params: { startTime: number; endTime: number; }): Promise; getFuturesTransactionHistoryDownloadLink(params: { downloadId: string; }): Promise; getFuturesOrderHistoryDownloadId(params: { startTime: number; endTime: number; }): Promise; getFuturesOrderHistoryDownloadLink(params: { downloadId: string; }): Promise; getFuturesTradeHistoryDownloadId(params: { startTime: number; endTime: number; }): Promise; getFuturesTradeDownloadLink(params: { downloadId: string; }): Promise; setBNBBurnEnabled(params: { feeBurn: 'true' | 'false'; }): Promise<{ code: number; msg: string; }>; getBNBBurnStatus(): Promise<{ feeBurn: boolean; }>; testOrder(params: NewFuturesOrderParams): Promise; /** * * Convert Endpoints * **/ getAllConvertPairs(params?: { fromAsset?: string; toAsset?: string; }): Promise; submitConvertQuoteRequest(params: FuturesConvertQuoteRequest): Promise; acceptConvertQuote(params: { quoteId: string; }): Promise<{ orderId: string; createTime: number; orderStatus: 'PROCESS' | 'ACCEPT_SUCCESS' | 'SUCCESS' | 'FAIL'; }>; getConvertOrderStatus(params: { orderId?: string; quoteId?: string; }): Promise; /** * * Portfolio Margin Pro Endpoints * **/ getPortfolioMarginProAccountInfo(params: { asset: string; }): Promise; /** * * Broker Futures Endpoints * Possibly @deprecated, found only in old docs * All broker endpoints start with /sapi/v1/broker or sapi/v2/broker or sapi/v3/broker * **/ /** * @deprecated **/ getBrokerIfNewFuturesUser(brokerId: string, type?: 1 | 2): Promise<{ brokerId: string; rebateWorking: boolean; ifNewUser: boolean; }>; /** * @deprecated **/ setBrokerCustomIdForClient(customerId: string, email: string): Promise<{ customerId: string; email: string; }>; /** * @deprecated **/ getBrokerClientCustomIds(customerId: string, email: string, page?: number, limit?: number): Promise; /** * @deprecated **/ getBrokerUserCustomId(brokerId: string): Promise; /** * @deprecated **/ getBrokerRebateDataOverview(type?: 1 | 2): Promise; /** * @deprecated **/ getBrokerUserTradeVolume(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise; /** * @deprecated **/ getBrokerRebateVolume(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise; /** * @deprecated **/ 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; }