import type { Axios } from 'axios'; import type { Store } from '../../store/store.interface'; import type { Balance, Candle, ExchangeOptions, Market, Position, Ticker, Order, PlaceOrderOpts, OHLCVOptions, OrderBook } from '../../types'; import { BaseExchange } from '../base'; import { BybitPrivateWebsocket } from './bybit.ws-private'; import { BybitPublicWebsocket } from './bybit.ws-public'; export declare class BybitExchange extends BaseExchange { name: string; xhr: Axios; publicWebsocket: BybitPublicWebsocket; privateWebsocket: BybitPrivateWebsocket; private hedgedPositionsMap; private leverageHash; get accountType(): string; get accountCategory(): string; constructor(opts: ExchangeOptions, store: Store); dispose: () => void; getAccount: () => Promise<{ userId: any; affiliateId: any; }>; validateAccount: () => Promise; start: () => Promise; tick: () => Promise; fetchBalance: () => Promise; fetchOrders: () => Promise; fetchPositions: () => Promise; fetchTickers: () => Promise; fetchMarkets: () => Promise; fetchLeverage: () => Promise; fetchOHLCV: (opts: OHLCVOptions) => Promise; listenOHLCV: (opts: OHLCVOptions, callback: (candle: Candle) => void) => () => void; listenOrderBook: (symbol: string, callback: (orderBook: OrderBook) => void) => () => void; placeOrder: (opts: PlaceOrderOpts) => Promise; placeOrders: (opts: PlaceOrderOpts[]) => Promise; placeStopLossOrTakeProfit: (opts: PlaceOrderOpts) => Promise; placeTrailingStopLoss: (opts: PlaceOrderOpts) => Promise; cancelOrders: (orders: Order[]) => Promise; cancelSymbolOrders: (symbol: string) => Promise; setLeverage: (symbol: string, inputLeverage: number) => Promise; changePositionMode: (hedged: boolean) => Promise; mapPosition(p: Record): Position; mapOrder(o: Record): Order[]; private formatCreateOrder; private placeOrderBatch; private fetchPositionMode; private getOrderPositionIdx; private getStopOrderPositionIdx; }