///
import { Binance, OrderSide, ReconnectingWebSocketHandler } from 'binance-api-node';
import { IProviderBinance } from '../interfaces/IProviderBinance';
import { Logger } from '../../../utils/logger/logger';
import { IBalance, ICandle, IOrder, IProvider, TProviderTransferInnerType } from '../../common/interfaces';
import { ProviderCommon } from '../../common/lib';
import { IOrderMarketProps } from '../../common/interfaces/IOrder';
import { IAsset, ICandleChartIntervalKeys } from 'caeb-types';
export declare class ProviderBinance extends ProviderCommon implements IProvider {
name: string;
readonly id: string;
httpBase: string;
readonly httpBaseTestnet: string;
testnet: boolean;
apiKey: string;
apiSecret: string;
client: Binance;
recvWindow: number;
weightLimitPerMinute: number;
log: Logger;
private cacheSymbols;
private cacheSymbolsLast;
private cacheSymbolsTTL;
apiPassPhrase?: string;
subAccountId?: string | number;
constructor(props: IProviderBinance);
innerTransfer(clientOid: string, baseAsset: string, amount: number, transferType: keyof typeof TProviderTransferInnerType): Promise;
attachStreamTicker(ticker: string): void;
getExchangeInfo(): Promise;
getTickerInfo(baseAsset: string, quoteAsset: string): Promise;
getHistory(baseAsset: string, quoteAsset: string, intervalType?: ICandleChartIntervalKeys, opts?: {
limit?: number;
startDate?: Date;
endDate?: Date;
}): Promise;
getPrice(baseAsset: string, quoteAsset: string): Promise;
formatSymbol(baseAsset: string, quoteAsset: string): string;
getAccountBalances(): Promise;
getTradingBalances(): Promise;
getAssetBalance(asset: string): Promise;
getAllOrdersForPairs(pairs: {
baseAsset: string;
quoteAsset: string;
}[], status?: string, daysRange?: number): Promise;
getAllOrders(baseAsset: string, quoteAsset: string, orderId?: number): Promise;
getActiveOrders(baseAsset: string, quoteAsset: string): Promise;
createOrderLimit(side: OrderSide, quantity: number, price: number, baseAsset: string, quoteAsset: string): Promise;
createOrderMarket(props: IOrderMarketProps): Promise;
cancelOpenOrders(baseAsset: string, quoteAsset: string): Promise;
attachStreamAccount(): Promise;
getApiRatioLimits(): Promise;
wsPing(): Promise;
}
export { Binance };