/// import { IBalance, ICandle, IOrder, IProvider, TOrderSide, TProviderTransferInnerType } from '../../common/interfaces'; import { Logger } from '../../../utils/logger/logger'; import { IProviderKucoin } from '../interfaces/IProviderKucoin'; import { ProviderCommon } from '../../common/lib'; import { IOrderMarketProps } from '../../common/interfaces/IOrder'; import { IAsset, ICandleChartIntervalKeys } from 'caeb-types'; export declare class ProviderKucoin extends ProviderCommon implements IProvider { name: string; readonly id: string; httpBase: string; readonly httpBaseTestnet: string; testnet: boolean; apiKey: string; apiSecret: string; apiPassPhrase: string; weightLimitPerMinute: number; weightLimitLevels: { type: string; ratio: number; waitTimeMS: number; }[]; client: any; private datafeed; private streamKeyDuplicate; log: Logger; private cacheSymbols; private cacheSymbolsLast; private cacheSymbolsTTL; private _weightLimitPerMinuteCalls; private historyLimitMax; constructor(props: IProviderKucoin); getApiRatioLimits(): Promise; respectApiRatioLimits(): Promise; private _onApiRatioLimitsErrorCode; getExchangeInfo(): Promise; getPrice(baseAsset: string, quoteAsset: string): Promise; getTickerInfo(baseAsset: string, quoteAsset: string): Promise; getHistory(baseAsset: string, quoteAsset: string, intervalType?: ICandleChartIntervalKeys, opts?: { limit?: number; startDate?: Date; endDate?: Date; }): Promise; formatSymbol(baseAsset: string, quoteAsset: string): string; getAccountBalances(): Promise; getTradingBalances(): Promise; getAssetBalance(asset: string): Promise; getOrderById(orderId: string): Promise; getAllOrdersForPairs(pairs?: { baseAsset: string; quoteAsset: string; }[], status?: 'done' | 'active', daysRange?: number): Promise; getAllOrders(baseAsset: string, quoteAsset: string, daysRange?: number): Promise; getActiveOrders(baseAsset: string, quoteAsset: string, daysRange?: number): Promise; cancelOpenOrders(baseAsset: string, quoteAsset: string): Promise; createOrderLimit(side: TOrderSide, quantity: number, price: number, baseAsset: string, quoteAsset: string): Promise; createOrderMarket(props: IOrderMarketProps): Promise; attachStreamAccount(): Promise; attachStreamTicker(baseAsset: string, quoteAsset: string): Promise; innerTransfer(clientOid: string, baseAsset: string, amount: number, transferType: keyof typeof TProviderTransferInnerType): Promise; private _attachStreamPrivateAccount; private _attachStreamPrivateOrder; private _onAccountStreamMessage; private _onAccountStreamOrder; private _onTickerStreamMessage; private __getAllOrders; private __getAllOrdersRequest; private __getAllHistoricalOrders; __getAllOrdersPerPage(obj: any, currentPage?: number, pageSize?: number): Promise<{ orders: IOrder[]; currentPage: number; pageSize: number; totalNum: number; totalPage: number; }>; }