import type { Axios } from 'axios'; import type { Store } from '../../store/store.interface'; import type { Balance, Candle, ExchangeOptions, OHLCVOptions, Order, OrderBook, PlaceOrderOpts, Position, Ticker } from '../../types'; import { BaseExchange } from '../base'; import { OKXBusinessWebsocket } from './okx.ws-business'; import { OKXPrivateWebsocket } from './okx.ws-private'; import { OKXPublicWebsocket } from './okx.ws-public'; export declare class OKXExchange extends BaseExchange { name: string; xhr: Axios; publicWebsocket: OKXPublicWebsocket; businessWebsocket: OKXBusinessWebsocket; privateWebsocket: OKXPrivateWebsocket; leverageHash: Record; isPortfolioMargin: boolean; constructor(opts: ExchangeOptions, store: Store); getAccount: () => Promise<{ userId: string; subId?: string | null | undefined; affiliateId?: string | null | undefined; }>; validateAccount: () => Promise; dispose: () => void; start: () => Promise; fetchMarkets: () => Promise; fetchTickers: () => Promise; fetchBalanceAndPositions: () => Promise<{ balance: Balance; positions: Position[]; }>; fetchPositions: () => Promise; fetchBalance: () => Promise; fetchLeverage: () => Promise; fetchOrders: () => Promise; fetchNormalOrders: () => Promise; fetchAlgoOrders: (type: 'conditional' | 'move_order_stop' | 'oco') => Promise; 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; setAccountLevel: () => Promise; setLeverage: (symbol: string, inputLeverage: number) => Promise; fetchPositionMode: () => Promise; changePositionMode: (hedged: boolean) => Promise; placeOrder: (opts: PlaceOrderOpts) => Promise; placeOrders: (opts: PlaceOrderOpts[]) => Promise; mapOrders: (orders: Array>) => Order[]; mapPositions: (data: Array>) => Position[]; private formatAlgoOrder; private formatCreateOrder; private placeOrderBatch; private placeAlgoOrderBatch; private cancelNormalOrders; private cancelAlgoOrders; private isAlgoOrder; private getPositionSide; }