///
import { RestClient as ClientFtx } from 'ftx-api';
import { IBalance, ICandle, IOrder, IProvider, TOrderSide, TProviderTransferInnerType } from '../../common/interfaces';
import { Logger } from '../../../utils/logger/logger';
import { IProviderFtx } from '../interfaces/IProviderFtx';
import { ProviderCommon } from '../../common/lib';
import { IOrderMarketProps } from '../../common/interfaces/IOrder';
import { IAsset, ICandleChartIntervalKeys } from 'caeb-types';
export declare class ProviderFtx extends ProviderCommon implements IProvider {
name: string;
readonly id: string;
apiKey: string;
apiSecret: string;
subAccountName: string;
weightLimitPerMinute: number;
client: ClientFtx;
log: Logger;
private cacheSymbols;
private cacheSymbolsLast;
private cacheSymbolsTTL;
constructor(props: IProviderFtx);
apiPassPhrase?: string;
subAccountId?: string | number;
testnet?: boolean;
innerTransfer(clientOid: string, baseAsset: string, amount: number, transferType: keyof typeof TProviderTransferInnerType): Promise;
attachStreamTicker(ticker: string): void;
getApiRatioLimits(): Promise;
getExchangeInfo(): Promise;
getTickerInfo(baseAsset: string, quoteAsset: string): Promise;
getPrice(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;
getAllOrders(baseAsset: string, quoteAsset: string, daysRange?: number): Promise;
getActiveOrders(baseAsset: string, quoteAsset: string, daysRange?: number): Promise;
getAllOrdersForPairs(pairs?: {
baseAsset: string;
quoteAsset: string;
}[], status?: 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;
attachStreamAccount(): void;
private __getAllOrdersRequest;
}