/// import { IAsset, ICandleChartIntervalKeys } from 'caeb-types'; import { EventEmitter } from 'events'; import { IBalance } from './IBalance'; import { ICandle } from './ICandle'; import { IOrder, IOrderMarketProps, TOrderSide } from './IOrder'; export declare enum TProviderTransferInnerType { FUNDING_TRADE = "FUNDING_TRADE", TRADE_FUNDING = "TRADE_FUNDING" } export interface IProvider extends EventEmitter { id: string; name: string; apiKey: string; apiSecret: string; apiPassPhrase?: string; subAccountId?: string | number; testnet?: boolean; getExchangeInfo(): Promise; getPrice(baseAsset: string, quoteAsset: string): Promise; getTickerInfo(baseAsset: string, quoteAsset: string): Promise; getHistory(baseAsset: string, quoteAsset: string, intervalType?: ICandleChartIntervalKeys, opts?: { startDate?: Date; endDate?: Date; limit?: number; }): Promise; getVolatility(candles: ICandle[]): [low: number, high: number, variation: number]; formatSymbol(baseAsset: string, quoteAsset: string): string; getAccountBalances(): Promise; getTradingBalances(): Promise; getAssetBalance(asset: string): Promise; getAllOrders(baseAsset: string, quoteAsset: string, daysRange?: number): Promise; getActiveOrders(baseAsset: string, quoteAsset: string, daysRange?: number): Promise; createOrderLimit(side: TOrderSide, quantity: number, price: number, baseAsset: string, quoteAsset: string): Promise; createOrderMarket(props: IOrderMarketProps): Promise; cancelOpenOrders(baseAsset: string, quoteAsset: string): Promise; innerTransfer(clientOid: string, baseAsset: string, amount: number, transferType: keyof typeof TProviderTransferInnerType): Promise; getApiRatioLimits(): Promise; attachStreamAccount(): void; attachStreamTicker(baseAsset: string, quoteAsset: string): void; }