import { BaseWorker } from "../base.worker"; import { BinanceWsPublic } from "./binance.ws-public"; import { BinanceWsPrivate } from "./binance.ws-private"; import { OrderSide, OrderType, type Account, type ExchangeConfig, type FetchOHLCVParams, type PlaceOrderOpts, type PlacePositionStopOpts, type Position, type Timeframe } from "../../types/lib.types"; export declare class BinanceWorker extends BaseWorker { publicWs: BinanceWsPublic | null; pollBalancePositionsTimeouts: Record; privateWs: Record; start({ accounts, config, requestId, }: { accounts: Account[]; config: ExchangeConfig; requestId: string; }): Promise; stop(): void; fetchPublic(): Promise; addAccounts({ accounts, requestId, }: { accounts: Account[]; requestId?: string; }): Promise; removeAccount({ accountId, requestId, }: { accountId: string; requestId: string; }): Promise; fetchAndPollBalancePositions: (account: Account) => Promise; listenOrderBook(symbol: string): void; unlistenOrderBook(symbol: string): void; fetchOHLCV({ requestId, params, }: { requestId: string; params: FetchOHLCVParams; }): Promise; listenOHLCV(opts: { symbol: string; timeframe: Timeframe; }): void; unlistenOHLCV(opts: { symbol: string; timeframe: Timeframe; }): void; setLeverage({ requestId, accountId, symbol, leverage, }: { requestId: string; accountId: string; symbol: string; leverage: number; }): Promise; cancelOrders({ orderIds, accountId, requestId, }: { orderIds: string[]; accountId: string; requestId: string; priority?: boolean; }): Promise; cancelAllOrders({ accountId, requestId, }: { accountId: string; requestId: string; }): Promise; cancelSymbolOrders({ symbol, accountId, requestId, }: { symbol: string; accountId: string; requestId: string; }): Promise; fetchPositionMetadata({ requestId, accountId, symbol, }: { requestId: string; accountId: string; symbol: string; }): Promise; placeOrders({ orders, accountId, requestId, }: { orders: PlaceOrderOpts[]; accountId: string; requestId: string; priority?: boolean; }): Promise; placePositionStop({ position, stop, requestId, }: { position: Position; stop: PlacePositionStopOpts; requestId: string; priority?: boolean; }): Promise; formatCreateOrder: ({ opts, accountId, }: { opts: PlaceOrderOpts; accountId: string; }) => Record[]; getOrderPositionSide: ({ opts, accountId, }: { opts: { symbol: string; side: OrderSide; type: OrderType; reduceOnly: boolean; }; accountId: string; }) => string; }