export interface WorkerCandlesMessageBack { type: 'ALL_CANDLES' | 'NEW_CANDLE' | 'EXTEND_LAST_CANDLE'; subscriptionId: string; symbol: string; candlesArray: Float64Array; interval: CandlestickChartInterval | SubminutedCandlestickChartInterval; } export interface WorkerSubscribeMessage { type: 'SUBSCRIBE'; symbols: string[]; frequency: number; subscriptionId: string; } export interface WorkerUnsubscribeMessage { type: 'UNSUBSCRIBE'; subscriptionId: string; } export interface WorkerInitMessage { type: 'INIT'; allSymbols: string[]; interval: CandlestickChartInterval | SubminutedCandlestickChartInterval; isTestnet?: boolean; } export declare type PositionSide = 'BOTH' | 'LONG' | 'SHORT'; export declare type OrderSide = 'BUY' | 'SELL'; export declare type MarginType = 'ISOLATED' | 'CROSSED'; export declare type PositionMarginType = 'isolated' | 'cross'; export declare type CandlestickChartInterval = '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '8h' | '12h' | '1d' | '3d' | '1w' | '1M'; export declare type ExtendedCandlestickChartInterval = '2m' | '10m' | '2d' | '4d' | '2w' | '2M'; export declare type SubminutedCandlestickChartInterval = '5s' | '10s' | '15s' | '30s'; export declare type ContractType = 'PERPETUAL' | 'CURRENT_MONTH' | 'NEXT_MONTH' | 'CURRENT_MONTH_DELIVERING' | 'NEXT_MONTH_DELIVERING'; export declare type RateLimitInterval = 'MINUTE' | 'SECOND' | 'DAY'; export declare type OrderType = 'LIMIT' | 'MARKET' | 'STOP' | 'STOP_MARKET' | 'TAKE_PROFIT' | 'TAKE_PROFIT_MARKET' | 'TRAILING_STOP_MARKET'; export declare type OrderStatus = 'NEW' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELED' | 'REJECTED' | 'EXPIRED' | 'NEW_INSURANCE' | 'NEW_ADL'; export declare type OrderExecutionType = 'NEW' | 'CANCELED' | 'CALCULATED' | 'EXPIRED' | 'TRADE'; export declare type RateLimiter = 'REQUEST_WEIGHT' | 'ORDERS'; /** * Time in force (timeInForce): * GTC - Good Till Cancel * IOC - Immediate or Cancel * FOK - Fill or Kill * GTX - Good Till Crossing (Post Only) */ export declare type TimeInForce = 'GTC' | 'IOC' | 'FOK' | 'GTX'; export declare type IncomeType = 'TRANSFER' | 'WELCOME_BONUS' | 'REALIZED_PNL' | 'FUNDING_FEE' | 'COMMISSION' | 'INSURANCE_CLEAR'; export declare type WorkingType = 'MARK_PRICE' | 'CONTRACT_PRICE'; export interface FuturesPositionRisk { entryPrice: string; isAutoAddMargin: 'true' | 'false'; isolatedMargin: string; isolatedWallet: string; leverage: string; liquidationPrice: string; marginType: PositionMarginType; markPrice: string; maxNotionalValue: string; notional: string; positionAmt: string; positionSide: PositionSide; symbol: string; unRealizedProfit: string; updateTime: number; } export interface FuturesLeverageResponse { leverage: number; maxNotionalValue: string; symbol: string; } export interface FuturesAggTrade { aggTradeId: number; amount: string; firstTradeId: number; lastTradeId: number; maker: boolean; price: string; symbol: string; timestamp: number; } export interface FuturesAggTradeStreamTicker { aggTradeId: number; amount: string; eventTime: number; eventType: 'aggTrade'; firstTradeId: number; lastTradeId: number; maker: boolean; price: string; symbol: string; timestamp: number; total: number; } export interface FuturesMarkPriceTicker { eventType: 'markPriceUpdate'; eventTime: number; symbol: string; markPrice: string; indexPrice: string; fundingRate: string; fundingTime: number; } export interface FuturesLeverageBracket { bracket: number; cum: number; initialLeverage: number; maintMarginRatio: number; notionalCap: number; notionalFloor: number; } export interface FutureAsset { asset: string; availableBalance: string; crossUnPnl: string; crossWalletBalance: string; initialMargin: string; maintMargin: string; marginBalance: string; maxWithdrawAmount: string; openOrderInitialMargin: string; positionInitialMargin: string; unrealizedProfit: string; walletBalance: string; } export interface FuturePosition { entryPrice: string; initialMargin: string; isolated: boolean; isolatedWallet: string; leverage: string; maintMargin: string; maxNotional: string; notional: string; openOrderInitialMargin: string; positionAmt: string; positionInitialMargin: string; positionSide: PositionSide; symbol: string; unrealizedProfit: string; } export interface FuturesAccount { assets: FutureAsset[]; availableBalance: string; canDeposit: boolean; canTrade: boolean; canWithdraw: boolean; feeTier: number; maxWithdrawAmount: string; positions: FuturePosition[]; totalCrossUnPnl: string; totalCrossWalletBalance: string; totalInitialMargin: string; totalMaintMargin: string; totalMarginBalance: string; totalOpenOrderInitialMargin: string; totalPositionInitialMargin: string; totalUnrealizedProfit: string; totalWalletBalance: string; updateTime: number; } export interface FuturesChartCandle { symbol: string; interval: CandlestickChartInterval | ExtendedCandlestickChartInterval | SubminutedCandlestickChartInterval; close: number; closeTime: number; high: number; low: number; open: number; quoteVolume: number; takerBuyBaseVolume: number; takerBuyQuoteVolume: number; time: number; trades: number; volume: number; isFinal?: boolean; direction: 'UP' | 'DOWN'; closeTimeISOString: string; timeISOString: string; isFirstEver?: boolean; } export interface FuturesMiniTicker { time: number; symbol: string; close: string; open: string; high: string; low: string; volume: string; quoteVolume: string; } export interface FuturesTicker { time: number; symbol: string; priceChange: string; priceChangePercent: string; averagePrice: string; close: string; lastQuantity: string; open: string; high: string; low: string; volume: string; quoteVolume: string; openTime: number; closeTime: number; firstTradeId: number; lastTradeId: number; numberOfTrades: number; } export interface FuturesUserTrade { buyer: boolean; commission: string; commissionAsset: string; id: number; maker: boolean; marginAsset: string; orderId: number; positionSide: PositionSide; price: string; qty: string; quoteQty: string; realizedPnl: string; side: OrderSide; symbol: string; time: number; } export interface FuturesDepth { E: number; T: number; asks: [string, string][]; bids: [string, string][]; lastUpdateId: number; } export declare type FuturesExchangeInfoFilter = { filterType: 'PRICE_FILTER'; maxPrice: string; minPrice: string; tickSize: string; } | { filterType: 'LOT_SIZE'; maxQty: string; minQty: string; stepSize: string; } | { filterType: 'MARKET_LOT_SIZE'; maxQty: string; minQty: string; stepSize: string; } | { filterType: 'MAX_NUM_ORDERS'; limit: number; } | { filterType: 'MAX_NUM_ALGO_ORDERS'; limit: number; } | { filterType: 'MIN_NOTIONAL'; notional: string; } | { filterType: 'PERCENT_PRICE'; multiplierDecimal: string; multiplierDown: string; multiplierUp: string; }; export interface FuturesExchangeInfoSymbol { baseAsset: string; baseAssetPrecision: number; contractType: ContractType; deliveryDate: number; filters: FuturesExchangeInfoFilter[]; maintMarginPercent: string; marginAsset: string; onboardDate: number; orderTypes: OrderType[]; pair: string; pricePrecision: number; quantityPrecision: number; quoteAsset: string; quotePrecision: number; requiredMarginPercent: string; settlePlan: number; status: string; symbol: string; timeInForce: TimeInForce[]; triggerProtect: string; underlyingSubType: unknown[]; underlyingType: string; } export interface FuturesExchangeInfo { exchangeFilters: unknown[]; futuresType: string; rateLimits: { interval: RateLimitInterval; intervalNum: number; limit: number; rateLimitType: RateLimiter; }[]; serverTime: number; symbols: FuturesExchangeInfoSymbol[]; timezone: string; } export interface FuturesIncome { symbol: string; incomeType: IncomeType; income: string; asset: string; info: string; time: number; tranId: string; tradeId: string; } export interface FuturesOrder { clientOrderId: string; cumQty?: string; cumQuote: string; executedQty: string; orderId: number; avgPrice: string; origQty: string; price: string; reduceOnly: boolean; side: OrderSide; positionSide: PositionSide; status: OrderStatus; stopPrice: string; closePosition: boolean; symbol: string; timeInForce: TimeInForce; type: OrderType; origType: OrderType; activatePrice?: string; priceRate?: string; updateTime: number; workingType: WorkingType; priceProtect: boolean; } export interface BalanceItem { available: string; onOrder: string; } export interface UserDataEventExpired { e: 'listenKeyExpired'; E: number; } export interface UserDataEventMarginCallPosition { s: string; ps: PositionSide; pa: string; mt: MarginType; iw: string; mp: string; up: string; mm: string; } export interface UserDataEventMarginCall { e: 'MARGIN_CALL'; E: number; cw: string; p: UserDataEventMarginCallPosition[]; } export declare type UserDataEventAccountUpdateReason = 'DEPOSIT' | 'WITHDRAW' | 'ORDER' | 'FUNDING_FEE' | 'WITHDRAW_REJECT' | 'ADJUSTMENT' | 'INSURANCE_CLEAR' | 'ADMIN_DEPOSIT' | 'ADMIN_WITHDRAW' | 'MARGIN_TRANSFER' | 'MARGIN_TYPE_CHANGE' | 'ASSET_TRANSFER' | 'OPTIONS_PREMIUM_FEE' | 'OPTIONS_SETTLE_PROFIT' | 'AUTO_EXCHANGE'; export interface UserDataEventAccountUpdateBalance { a: string; wb: string; cw: string; bc: string; } export interface UserDataEventAccountUpdatePosition { s: string; pa: string; ep: string; cr: string; up: string; mt: PositionMarginType; iw: string; ps: PositionSide; } export interface UserDataEventAccountUpdateData { m: UserDataEventAccountUpdateReason; B: UserDataEventAccountUpdateBalance[]; P: UserDataEventAccountUpdatePosition[]; } export interface UserDataEventAccountUpdate { e: 'ACCOUNT_UPDATE'; E: number; T: number; a: UserDataEventAccountUpdateData; } export interface UserDataEventOrderUpdateData { s: string; c: string; S: OrderSide; o: OrderType; f: TimeInForce; q: string; p: string; ap: string; sp: string; x: OrderExecutionType; X: OrderStatus; i: number; l: string; z: string; L: string; N: string; n: string; T: number; t: number; b: string; a: string; m: boolean; R: boolean; wt: WorkingType; ot: OrderType; ps: PositionSide; cp: boolean; AP: string; cr: string; rp: string; } export interface UserDataEventOrderUpdate { e: 'ORDER_TRADE_UPDATE'; E: number; T: number; o: UserDataEventOrderUpdateData; } export interface UserDataEventAccountConfigUpdate { e: 'ACCOUNT_CONFIG_UPDATE'; E: number; T: number; ac?: { s: string; l: number; }; ai?: { j: boolean; }; } export declare type UserDataEvent = UserDataEventExpired | UserDataEventMarginCall | UserDataEventAccountUpdate | UserDataEventOrderUpdate | UserDataEventAccountConfigUpdate; //# sourceMappingURL=types.d.ts.map