import type { Axios } from 'axios'; import type { Store } from '../../store/store.interface'; import type { Candle, OHLCVOptions, ExchangeOptions, Market, Position, Ticker, Order, PlaceOrderOpts, OrderBook } from '../../types'; import { BaseExchange } from '../base'; import { PhemexPrivateWebsocket } from './phemex.ws-private'; import { PhemexPublicWebsocket } from './phemex.ws-public'; export declare class PhemexExchange extends BaseExchange { name: string; xhr: Axios; publicWebsocket: PhemexPublicWebsocket; privateWebsocket: PhemexPrivateWebsocket; constructor(opts: ExchangeOptions, store: Store); getAccount: () => Promise<{ userId: string; affiliateId: string; }>; validateAccount: () => Promise; dispose: () => void; start: () => Promise; fetchMarkets: () => Promise; fetchTickers: () => Promise; fetchBalanceAndPositions: () => Promise<{ balance: import("../../types").Balance; positions: Position[]; }>; fetchOHLCV: (opts: OHLCVOptions) => Promise; listenOHLCV: (opts: OHLCVOptions, callback: (candle: Candle) => void) => () => void; listenOrderBook: (symbol: string, callback: (orderBook: OrderBook) => void) => () => void; cancelOrders: (orders: Order[]) => Promise; cancelSymbolOrders: (symbol: string) => Promise; setLeverage: (symbol: string, inputLeverage: number) => Promise; placeOrder: (opts: PlaceOrderOpts) => Promise; formatNormalOrder: (opts: PlaceOrderOpts) => { orderQtyRq: string; }[]; formatAlgoOrder: (opts: PlaceOrderOpts) => Record[]; mapPositions: (data: Array>) => Position[]; mapOrders: (data: Array>) => Order[]; private getPosSideFromOrder; }