///
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;
}>;
}