@nemesis-oss/binance-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2055 @@
1
+ import { z } from 'zod';
2
+ import { EventEmitter } from 'node:events';
3
+
4
+ declare const FundingRateSchema: z.ZodObject<{
5
+ symbol: z.ZodString;
6
+ fundingTime: z.ZodNumber;
7
+ fundingRate: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
8
+ markPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
9
+ }, z.core.$strip>;
10
+ type FundingRate = z.infer<typeof FundingRateSchema>;
11
+ declare const FundingRateHistorySchema: z.ZodArray<z.ZodObject<{
12
+ symbol: z.ZodString;
13
+ fundingTime: z.ZodNumber;
14
+ fundingRate: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
15
+ markPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
16
+ }, z.core.$strip>>;
17
+ declare const PremiumIndexSchema: z.ZodObject<{
18
+ symbol: z.ZodString;
19
+ markPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
20
+ indexPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
21
+ estimatedSettlePrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
22
+ lastFundingRate: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
23
+ nextFundingTime: z.ZodNumber;
24
+ interestRate: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
25
+ time: z.ZodNumber;
26
+ }, z.core.$strip>;
27
+ type PremiumIndex = z.infer<typeof PremiumIndexSchema>;
28
+ declare const OpenInterestSchema: z.ZodObject<{
29
+ symbol: z.ZodString;
30
+ openInterest: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
31
+ time: z.ZodNumber;
32
+ }, z.core.$strip>;
33
+ type OpenInterest = z.infer<typeof OpenInterestSchema>;
34
+ declare const OpenInterestHistEntrySchema: z.ZodObject<{
35
+ symbol: z.ZodString;
36
+ sumOpenInterest: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
37
+ sumOpenInterestValue: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
38
+ timestamp: z.ZodNumber;
39
+ }, z.core.$strip>;
40
+ type OpenInterestHistEntry = z.infer<typeof OpenInterestHistEntrySchema>;
41
+ declare const OpenInterestHistSchema: z.ZodArray<z.ZodObject<{
42
+ symbol: z.ZodString;
43
+ sumOpenInterest: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
44
+ sumOpenInterestValue: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
45
+ timestamp: z.ZodNumber;
46
+ }, z.core.$strip>>;
47
+ declare const LongShortRatioEntrySchema: z.ZodObject<{
48
+ symbol: z.ZodString;
49
+ longShortRatio: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
50
+ longAccount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
51
+ shortAccount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
52
+ timestamp: z.ZodNumber;
53
+ }, z.core.$strip>;
54
+ type LongShortRatioEntry = z.infer<typeof LongShortRatioEntrySchema>;
55
+ declare const LongShortRatioSchema: z.ZodArray<z.ZodObject<{
56
+ symbol: z.ZodString;
57
+ longShortRatio: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
58
+ longAccount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
59
+ shortAccount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
60
+ timestamp: z.ZodNumber;
61
+ }, z.core.$strip>>;
62
+ declare const TakerLongShortRatioEntrySchema: z.ZodObject<{
63
+ buySellRatio: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
64
+ buyVol: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
65
+ sellVol: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
66
+ timestamp: z.ZodNumber;
67
+ }, z.core.$strip>;
68
+ type TakerLongShortRatioEntry = z.infer<typeof TakerLongShortRatioEntrySchema>;
69
+ declare const TakerLongShortRatioSchema: z.ZodArray<z.ZodObject<{
70
+ buySellRatio: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
71
+ buyVol: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
72
+ sellVol: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
73
+ timestamp: z.ZodNumber;
74
+ }, z.core.$strip>>;
75
+
76
+ declare const KlineIntervalSchema: z.ZodEnum<{
77
+ "1m": "1m";
78
+ "3m": "3m";
79
+ "5m": "5m";
80
+ "15m": "15m";
81
+ "30m": "30m";
82
+ "1h": "1h";
83
+ "2h": "2h";
84
+ "4h": "4h";
85
+ "6h": "6h";
86
+ "8h": "8h";
87
+ "12h": "12h";
88
+ "1d": "1d";
89
+ "3d": "3d";
90
+ "1w": "1w";
91
+ "1M": "1M";
92
+ }>;
93
+ type KlineInterval = z.infer<typeof KlineIntervalSchema>;
94
+ declare const KlineSchema: z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodString, z.ZodString, z.ZodString, z.ZodString, z.ZodString, z.ZodNumber, z.ZodString, z.ZodNumber, z.ZodString, z.ZodString, z.ZodString], null>, z.ZodTransform<{
95
+ openTime: number;
96
+ open: number;
97
+ high: number;
98
+ low: number;
99
+ close: number;
100
+ volume: number;
101
+ closeTime: number;
102
+ quoteAssetVolume: number;
103
+ trades: number;
104
+ takerBuyBaseVolume: number;
105
+ takerBuyQuoteVolume: number;
106
+ }, [number, string, string, string, string, string, number, string, number, string, string, string]>>;
107
+ type Kline = z.infer<typeof KlineSchema>;
108
+ declare const KlinesResponseSchema: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodString, z.ZodString, z.ZodString, z.ZodString, z.ZodString, z.ZodNumber, z.ZodString, z.ZodNumber, z.ZodString, z.ZodString, z.ZodString], null>, z.ZodTransform<{
109
+ openTime: number;
110
+ open: number;
111
+ high: number;
112
+ low: number;
113
+ close: number;
114
+ volume: number;
115
+ closeTime: number;
116
+ quoteAssetVolume: number;
117
+ trades: number;
118
+ takerBuyBaseVolume: number;
119
+ takerBuyQuoteVolume: number;
120
+ }, [number, string, string, string, string, string, number, string, number, string, string, string]>>>;
121
+ declare const TickerPriceSchema: z.ZodObject<{
122
+ symbol: z.ZodString;
123
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
124
+ time: z.ZodOptional<z.ZodNumber>;
125
+ }, z.core.$strip>;
126
+ type TickerPrice = z.infer<typeof TickerPriceSchema>;
127
+ declare const Ticker24hrSchema: z.ZodObject<{
128
+ symbol: z.ZodString;
129
+ priceChange: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
130
+ priceChangePercent: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
131
+ weightedAvgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
132
+ lastPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
133
+ lastQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
134
+ openPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
135
+ highPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
136
+ lowPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
137
+ volume: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
138
+ quoteVolume: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
139
+ openTime: z.ZodNumber;
140
+ closeTime: z.ZodNumber;
141
+ firstId: z.ZodNumber;
142
+ lastId: z.ZodNumber;
143
+ count: z.ZodNumber;
144
+ }, z.core.$strip>;
145
+ type Ticker24hr = z.infer<typeof Ticker24hrSchema>;
146
+ declare const BookTickerSchema: z.ZodObject<{
147
+ symbol: z.ZodString;
148
+ bidPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
149
+ bidQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
150
+ askPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
151
+ askQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
152
+ time: z.ZodOptional<z.ZodNumber>;
153
+ }, z.core.$strip>;
154
+ type BookTicker = z.infer<typeof BookTickerSchema>;
155
+ declare const DepthSnapshotSchema: z.ZodObject<{
156
+ lastUpdateId: z.ZodNumber;
157
+ bids: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodString, z.ZodString], null>, z.ZodTransform<{
158
+ price: number;
159
+ qty: number;
160
+ }, [string, string]>>>;
161
+ asks: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodString, z.ZodString], null>, z.ZodTransform<{
162
+ price: number;
163
+ qty: number;
164
+ }, [string, string]>>>;
165
+ }, z.core.$strip>;
166
+ type DepthSnapshot = z.infer<typeof DepthSnapshotSchema>;
167
+ declare const TradeSchema: z.ZodObject<{
168
+ id: z.ZodNumber;
169
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
170
+ qty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
171
+ quoteQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
172
+ time: z.ZodNumber;
173
+ isBuyerMaker: z.ZodBoolean;
174
+ }, z.core.$strip>;
175
+ type Trade = z.infer<typeof TradeSchema>;
176
+ declare const TradesResponseSchema: z.ZodArray<z.ZodObject<{
177
+ id: z.ZodNumber;
178
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
179
+ qty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
180
+ quoteQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
181
+ time: z.ZodNumber;
182
+ isBuyerMaker: z.ZodBoolean;
183
+ }, z.core.$strip>>;
184
+ declare const AggTradeSchema: z.ZodObject<{
185
+ a: z.ZodNumber;
186
+ p: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
187
+ q: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
188
+ f: z.ZodNumber;
189
+ l: z.ZodNumber;
190
+ T: z.ZodNumber;
191
+ m: z.ZodBoolean;
192
+ }, z.core.$strip>;
193
+ type AggTrade = z.infer<typeof AggTradeSchema>;
194
+ declare const AggTradesResponseSchema: z.ZodArray<z.ZodObject<{
195
+ a: z.ZodNumber;
196
+ p: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
197
+ q: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
198
+ f: z.ZodNumber;
199
+ l: z.ZodNumber;
200
+ T: z.ZodNumber;
201
+ m: z.ZodBoolean;
202
+ }, z.core.$strip>>;
203
+ declare const AvgPriceSchema: z.ZodObject<{
204
+ mins: z.ZodNumber;
205
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
206
+ }, z.core.$strip>;
207
+ type AvgPrice = z.infer<typeof AvgPriceSchema>;
208
+ declare const ExchangeSymbolSchema: z.ZodObject<{
209
+ symbol: z.ZodString;
210
+ status: z.ZodString;
211
+ baseAsset: z.ZodString;
212
+ quoteAsset: z.ZodString;
213
+ }, z.core.$loose>;
214
+ type ExchangeSymbol = z.infer<typeof ExchangeSymbolSchema>;
215
+ declare const ExchangeInfoSchema: z.ZodObject<{
216
+ timezone: z.ZodString;
217
+ serverTime: z.ZodNumber;
218
+ symbols: z.ZodArray<z.ZodObject<{
219
+ symbol: z.ZodString;
220
+ status: z.ZodString;
221
+ baseAsset: z.ZodString;
222
+ quoteAsset: z.ZodString;
223
+ }, z.core.$loose>>;
224
+ }, z.core.$loose>;
225
+ type ExchangeInfo = z.infer<typeof ExchangeInfoSchema>;
226
+
227
+ interface FuturesDataEndpoints {
228
+ restFapi?: string;
229
+ restFuturesData?: string;
230
+ apiKey?: string;
231
+ apiSecret?: string;
232
+ recvWindow?: number;
233
+ timeoutMs?: number;
234
+ maxRetries?: number;
235
+ retryBaseDelayMs?: number;
236
+ retryMaxDelayMs?: number;
237
+ }
238
+ declare class FuturesData {
239
+ private readonly http;
240
+ private readonly dataHttp;
241
+ constructor(endpoints?: FuturesDataEndpoints);
242
+ fundingRateHistory(symbol: string, options?: {
243
+ startTime?: number;
244
+ endTime?: number;
245
+ limit?: number;
246
+ }): Promise<FundingRate[]>;
247
+ premiumIndex(symbol: string): Promise<PremiumIndex>;
248
+ openInterest(symbol: string): Promise<OpenInterest>;
249
+ openInterestHist(symbol: string, period: string, limit?: number): Promise<OpenInterestHistEntry[]>;
250
+ topLongShortAccountRatio(symbol: string, period: string, limit?: number): Promise<LongShortRatioEntry[]>;
251
+ topLongShortPositionRatio(symbol: string, period: string, limit?: number): Promise<LongShortRatioEntry[]>;
252
+ globalLongShortAccountRatio(symbol: string, period: string, limit?: number): Promise<LongShortRatioEntry[]>;
253
+ takerLongShortRatio(symbol: string, period: string, limit?: number): Promise<TakerLongShortRatioEntry[]>;
254
+ basis(symbol: string, period: string, options?: {
255
+ startTime?: number;
256
+ endTime?: number;
257
+ limit?: number;
258
+ }): Promise<unknown[]>;
259
+ fundingInfo(): Promise<unknown[]>;
260
+ assetIndex(symbol?: string): Promise<unknown[] | unknown>;
261
+ compositeIndexInfo(symbol?: string): Promise<unknown>;
262
+ adlQuantile(symbol?: string): Promise<unknown[]>;
263
+ blvtInfo(tokenName: string, interval: KlineInterval, options?: {
264
+ startTime?: number;
265
+ endTime?: number;
266
+ limit?: number;
267
+ }): Promise<unknown[]>;
268
+ indexPriceConstituents(symbol: string): Promise<unknown>;
269
+ symbolConfig(symbol?: string): Promise<unknown[]>;
270
+ forceOrders(options?: {
271
+ symbol?: string;
272
+ autoCloseType?: 'LIQUIDATION' | 'ADL';
273
+ startTime?: number;
274
+ endTime?: number;
275
+ limit?: number;
276
+ }): Promise<unknown[]>;
277
+ insuranceFundBalance(options?: {
278
+ symbol?: string;
279
+ startTime?: number;
280
+ endTime?: number;
281
+ limit?: number;
282
+ }): Promise<unknown[]>;
283
+ pmExchangeInfo(): Promise<unknown>;
284
+ delistSchedule(symbol?: string): Promise<unknown[]>;
285
+ symbolAdlRisk(symbol?: string): Promise<unknown[]>;
286
+ deliveryPrice(pair: string): Promise<{
287
+ deliveryTime: number;
288
+ deliveryPrice: number;
289
+ }[]>;
290
+ }
291
+
292
+ type AuthMode = 'public' | 'apiKey' | 'signed';
293
+ type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
294
+ interface HttpClientOptions {
295
+ baseURL: string;
296
+ apiKey?: string;
297
+ apiSecret?: string;
298
+ recvWindow?: number;
299
+ timeoutMs?: number;
300
+ maxRetries?: number;
301
+ minTimeMs?: number;
302
+ rateLimitTokensPerSecond?: number;
303
+ rateLimitMaxTokens?: number;
304
+ retryBaseDelayMs?: number;
305
+ retryMaxDelayMs?: number;
306
+ retryFactor?: number;
307
+ }
308
+ declare class HttpClient {
309
+ private readonly axios;
310
+ private readonly limiter;
311
+ private readonly apiKey?;
312
+ private readonly apiSecret?;
313
+ private readonly recvWindow;
314
+ private readonly timeoutMs;
315
+ private maxRetries;
316
+ private minTimeMs;
317
+ private retryBaseDelayMs;
318
+ private retryMaxDelayMs;
319
+ private retryFactor;
320
+ private pendingRequests;
321
+ constructor(options: HttpClientOptions);
322
+ get<T>(path: string, params?: Record<string, unknown>, mode?: AuthMode): Promise<T>;
323
+ post<T>(path: string, params?: Record<string, unknown>, mode?: AuthMode): Promise<T>;
324
+ put<T>(path: string, params?: Record<string, unknown>, mode?: AuthMode): Promise<T>;
325
+ delete<T>(path: string, params?: Record<string, unknown>, mode?: AuthMode): Promise<T>;
326
+ getRateLimiterStatus(): {
327
+ minTimeMs: number;
328
+ queueLength: number;
329
+ };
330
+ configureRateLimiter(options: {
331
+ minTimeMs?: number;
332
+ }): void;
333
+ getRetryConfig(): {
334
+ maxRetries: number;
335
+ baseDelayMs: number;
336
+ maxDelayMs: number;
337
+ factor: number;
338
+ };
339
+ configureRetry(options: {
340
+ maxRetries?: number;
341
+ baseDelayMs?: number;
342
+ maxDelayMs?: number;
343
+ factor?: number;
344
+ }): void;
345
+ private request;
346
+ private buildHeaders;
347
+ private buildUrl;
348
+ private appendQuery;
349
+ private buildQueryString;
350
+ private sign;
351
+ private requireApiKey;
352
+ private requestWithRetry;
353
+ private shouldRetry;
354
+ private calculateDelay;
355
+ }
356
+
357
+ declare class MarketDataBase {
358
+ protected readonly http: HttpClient;
359
+ constructor(http: HttpClient);
360
+ exchangeInfo(): Promise<ExchangeInfo>;
361
+ ping(): Promise<Record<string, unknown>>;
362
+ serverTime(): Promise<{
363
+ serverTime: number;
364
+ }>;
365
+ historicalTrades(symbol: string, options?: {
366
+ fromId?: number;
367
+ limit?: number;
368
+ }): Promise<Trade[]>;
369
+ klines(symbol: string, interval: KlineInterval, options?: {
370
+ startTime?: number;
371
+ endTime?: number;
372
+ limit?: number;
373
+ }): Promise<Kline[]>;
374
+ tickerPrice(symbol: string): Promise<TickerPrice>;
375
+ ticker24hr(symbol: string): Promise<Ticker24hr>;
376
+ bookTicker(symbol: string): Promise<BookTicker>;
377
+ depth(symbol: string, limit?: number): Promise<DepthSnapshot>;
378
+ trades(symbol: string, limit?: number): Promise<Trade[]>;
379
+ aggTrades(symbol: string, options?: {
380
+ startTime?: number;
381
+ endTime?: number;
382
+ limit?: number;
383
+ }): Promise<AggTrade[]>;
384
+ }
385
+
386
+ declare class FuturesMarket extends MarketDataBase {
387
+ private readonly rootHttp;
388
+ constructor(http?: HttpClient, restRoot?: string);
389
+ continuousKlines(pair: string, contractType: 'perpetual' | 'current_quarter' | 'next_quarter', interval: KlineInterval, options?: {
390
+ startTime?: number;
391
+ endTime?: number;
392
+ limit?: number;
393
+ }): Promise<Kline[]>;
394
+ indexPriceKlines(pair: string, interval: KlineInterval, options?: {
395
+ startTime?: number;
396
+ endTime?: number;
397
+ limit?: number;
398
+ }): Promise<Kline[]>;
399
+ markPriceKlines(symbol: string, interval: KlineInterval, options?: {
400
+ startTime?: number;
401
+ endTime?: number;
402
+ limit?: number;
403
+ }): Promise<Kline[]>;
404
+ premiumIndexKlines(symbol: string, interval: KlineInterval, options?: {
405
+ startTime?: number;
406
+ endTime?: number;
407
+ limit?: number;
408
+ }): Promise<Kline[]>;
409
+ rpiDepth(symbol: string, limit?: number): Promise<DepthSnapshot>;
410
+ tradingDayTicker(symbol?: string): Promise<unknown[]>;
411
+ tickerPriceV2(symbol?: string): Promise<TickerPrice[] | TickerPrice>;
412
+ bookTickerV2(symbol?: string): Promise<BookTicker[] | BookTicker>;
413
+ instrumentDetails(symbol: string): Promise<ExchangeInfo['symbols'][number]>;
414
+ }
415
+
416
+ declare class SpotMarket extends MarketDataBase {
417
+ constructor(http?: HttpClient);
418
+ avgPrice(symbol: string): Promise<AvgPrice>;
419
+ /** Optimized klines endpoint (`/uiKlines`) with the same response shape as `/klines`. */
420
+ uiKlines(symbol: string, interval: KlineInterval, options?: {
421
+ startTime?: number;
422
+ endTime?: number;
423
+ limit?: number;
424
+ }): Promise<Kline[]>;
425
+ /** Rolling window ticker (`/ticker`). Omit `symbol` for all symbols. */
426
+ rollingWindowTicker(symbol?: string, windowSize?: '1d' | '7d' | '30d'): Promise<unknown[] | unknown>;
427
+ /** Trading-day ticker (`/ticker/tradingDay`). Omit `symbol` for all symbols. */
428
+ tradingDayTicker(symbol?: string, options?: {
429
+ timeZone?: string;
430
+ type?: 'FULL' | 'MINI';
431
+ }): Promise<unknown[] | unknown>;
432
+ }
433
+
434
+ declare const SpotOrderSchema: z.ZodObject<{
435
+ symbol: z.ZodString;
436
+ orderId: z.ZodNumber;
437
+ clientOrderId: z.ZodString;
438
+ status: z.ZodString;
439
+ side: z.ZodString;
440
+ type: z.ZodString;
441
+ timeInForce: z.ZodOptional<z.ZodString>;
442
+ price: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
443
+ origQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
444
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
445
+ cummulativeQuoteQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
446
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
447
+ icebergQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
448
+ originalQuoteOrderQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
449
+ transactTime: z.ZodOptional<z.ZodNumber>;
450
+ workingTime: z.ZodOptional<z.ZodNumber>;
451
+ orderListId: z.ZodOptional<z.ZodNumber>;
452
+ selfTradePreventionMode: z.ZodOptional<z.ZodString>;
453
+ fills: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
454
+ }, z.core.$loose>;
455
+ type SpotOrder = z.infer<typeof SpotOrderSchema>;
456
+ declare const SpotOrderResponseSchema: z.ZodObject<{
457
+ symbol: z.ZodString;
458
+ orderId: z.ZodNumber;
459
+ clientOrderId: z.ZodString;
460
+ status: z.ZodString;
461
+ side: z.ZodString;
462
+ type: z.ZodString;
463
+ timeInForce: z.ZodOptional<z.ZodString>;
464
+ price: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
465
+ origQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
466
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
467
+ cummulativeQuoteQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
468
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
469
+ icebergQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
470
+ originalQuoteOrderQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
471
+ transactTime: z.ZodOptional<z.ZodNumber>;
472
+ workingTime: z.ZodOptional<z.ZodNumber>;
473
+ orderListId: z.ZodOptional<z.ZodNumber>;
474
+ selfTradePreventionMode: z.ZodOptional<z.ZodString>;
475
+ fills: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
476
+ }, z.core.$loose>;
477
+ declare const SpotOrdersResponseSchema: z.ZodArray<z.ZodObject<{
478
+ symbol: z.ZodString;
479
+ orderId: z.ZodNumber;
480
+ clientOrderId: z.ZodString;
481
+ status: z.ZodString;
482
+ side: z.ZodString;
483
+ type: z.ZodString;
484
+ timeInForce: z.ZodOptional<z.ZodString>;
485
+ price: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
486
+ origQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
487
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
488
+ cummulativeQuoteQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
489
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
490
+ icebergQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
491
+ originalQuoteOrderQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
492
+ transactTime: z.ZodOptional<z.ZodNumber>;
493
+ workingTime: z.ZodOptional<z.ZodNumber>;
494
+ orderListId: z.ZodOptional<z.ZodNumber>;
495
+ selfTradePreventionMode: z.ZodOptional<z.ZodString>;
496
+ fills: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
497
+ }, z.core.$loose>>;
498
+ declare const SpotOCOOrderAckSchema: z.ZodObject<{
499
+ orderListId: z.ZodNumber;
500
+ contingencyType: z.ZodString;
501
+ listStatusType: z.ZodString;
502
+ listOrderStatus: z.ZodString;
503
+ listClientOrderId: z.ZodString;
504
+ transactionTime: z.ZodNumber;
505
+ symbol: z.ZodString;
506
+ orders: z.ZodArray<z.ZodObject<{
507
+ symbol: z.ZodString;
508
+ orderId: z.ZodNumber;
509
+ clientOrderId: z.ZodString;
510
+ status: z.ZodString;
511
+ side: z.ZodString;
512
+ type: z.ZodString;
513
+ timeInForce: z.ZodOptional<z.ZodString>;
514
+ price: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
515
+ origQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
516
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
517
+ cummulativeQuoteQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
518
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
519
+ icebergQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
520
+ originalQuoteOrderQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
521
+ transactTime: z.ZodOptional<z.ZodNumber>;
522
+ workingTime: z.ZodOptional<z.ZodNumber>;
523
+ orderListId: z.ZodOptional<z.ZodNumber>;
524
+ selfTradePreventionMode: z.ZodOptional<z.ZodString>;
525
+ fills: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
526
+ }, z.core.$loose>>;
527
+ orderReports: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
528
+ }, z.core.$loose>;
529
+ type SpotOCOOrderAck = z.infer<typeof SpotOCOOrderAckSchema>;
530
+ declare const SpotOCOOrderAckResponseSchema: z.ZodObject<{
531
+ orderListId: z.ZodNumber;
532
+ contingencyType: z.ZodString;
533
+ listStatusType: z.ZodString;
534
+ listOrderStatus: z.ZodString;
535
+ listClientOrderId: z.ZodString;
536
+ transactionTime: z.ZodNumber;
537
+ symbol: z.ZodString;
538
+ orders: z.ZodArray<z.ZodObject<{
539
+ symbol: z.ZodString;
540
+ orderId: z.ZodNumber;
541
+ clientOrderId: z.ZodString;
542
+ status: z.ZodString;
543
+ side: z.ZodString;
544
+ type: z.ZodString;
545
+ timeInForce: z.ZodOptional<z.ZodString>;
546
+ price: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
547
+ origQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
548
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
549
+ cummulativeQuoteQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
550
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
551
+ icebergQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
552
+ originalQuoteOrderQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
553
+ transactTime: z.ZodOptional<z.ZodNumber>;
554
+ workingTime: z.ZodOptional<z.ZodNumber>;
555
+ orderListId: z.ZodOptional<z.ZodNumber>;
556
+ selfTradePreventionMode: z.ZodOptional<z.ZodString>;
557
+ fills: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
558
+ }, z.core.$loose>>;
559
+ orderReports: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
560
+ }, z.core.$loose>;
561
+ declare const SpotOCOOrdersResponseSchema: z.ZodArray<z.ZodObject<{
562
+ orderListId: z.ZodNumber;
563
+ contingencyType: z.ZodString;
564
+ listStatusType: z.ZodString;
565
+ listOrderStatus: z.ZodString;
566
+ listClientOrderId: z.ZodString;
567
+ transactionTime: z.ZodNumber;
568
+ symbol: z.ZodString;
569
+ orders: z.ZodArray<z.ZodObject<{
570
+ symbol: z.ZodString;
571
+ orderId: z.ZodNumber;
572
+ clientOrderId: z.ZodString;
573
+ status: z.ZodString;
574
+ side: z.ZodString;
575
+ type: z.ZodString;
576
+ timeInForce: z.ZodOptional<z.ZodString>;
577
+ price: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
578
+ origQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
579
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
580
+ cummulativeQuoteQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
581
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
582
+ icebergQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
583
+ originalQuoteOrderQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
584
+ transactTime: z.ZodOptional<z.ZodNumber>;
585
+ workingTime: z.ZodOptional<z.ZodNumber>;
586
+ orderListId: z.ZodOptional<z.ZodNumber>;
587
+ selfTradePreventionMode: z.ZodOptional<z.ZodString>;
588
+ fills: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
589
+ }, z.core.$loose>>;
590
+ orderReports: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
591
+ }, z.core.$loose>>;
592
+ declare const SpotTradeSchema: z.ZodObject<{
593
+ symbol: z.ZodString;
594
+ id: z.ZodNumber;
595
+ orderId: z.ZodNumber;
596
+ orderListId: z.ZodOptional<z.ZodNumber>;
597
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
598
+ qty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
599
+ quoteQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
600
+ commission: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
601
+ commissionAsset: z.ZodString;
602
+ time: z.ZodNumber;
603
+ isBuyer: z.ZodBoolean;
604
+ isMaker: z.ZodBoolean;
605
+ isBestMatch: z.ZodBoolean;
606
+ }, z.core.$loose>;
607
+ type SpotTrade = z.infer<typeof SpotTradeSchema>;
608
+ declare const SpotTradesResponseSchema: z.ZodArray<z.ZodObject<{
609
+ symbol: z.ZodString;
610
+ id: z.ZodNumber;
611
+ orderId: z.ZodNumber;
612
+ orderListId: z.ZodOptional<z.ZodNumber>;
613
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
614
+ qty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
615
+ quoteQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
616
+ commission: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
617
+ commissionAsset: z.ZodString;
618
+ time: z.ZodNumber;
619
+ isBuyer: z.ZodBoolean;
620
+ isMaker: z.ZodBoolean;
621
+ isBestMatch: z.ZodBoolean;
622
+ }, z.core.$loose>>;
623
+ declare const SpotBalanceSchema: z.ZodObject<{
624
+ asset: z.ZodString;
625
+ free: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
626
+ locked: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
627
+ }, z.core.$strip>;
628
+ type SpotBalance = z.infer<typeof SpotBalanceSchema>;
629
+ declare const SpotAccountSchema: z.ZodObject<{
630
+ makerCommission: z.ZodNumber;
631
+ takerCommission: z.ZodNumber;
632
+ buyerCommission: z.ZodNumber;
633
+ sellerCommission: z.ZodNumber;
634
+ canTrade: z.ZodBoolean;
635
+ canWithdraw: z.ZodBoolean;
636
+ canDeposit: z.ZodBoolean;
637
+ updateTime: z.ZodOptional<z.ZodNumber>;
638
+ accountType: z.ZodOptional<z.ZodString>;
639
+ balances: z.ZodArray<z.ZodObject<{
640
+ asset: z.ZodString;
641
+ free: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
642
+ locked: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
643
+ }, z.core.$strip>>;
644
+ permissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
645
+ }, z.core.$loose>;
646
+ type SpotAccountInfo = z.infer<typeof SpotAccountSchema>;
647
+ declare const SpotExecutionReportSchema: z.ZodObject<{
648
+ e: z.ZodLiteral<"executionReport">;
649
+ }, z.core.$loose>;
650
+ type SpotExecutionReport = z.infer<typeof SpotExecutionReportSchema>;
651
+ declare const SpotOutboundAccountPositionSchema: z.ZodObject<{
652
+ e: z.ZodLiteral<"outboundAccountPosition">;
653
+ }, z.core.$loose>;
654
+ type SpotOutboundAccountPosition = z.infer<typeof SpotOutboundAccountPositionSchema>;
655
+ declare const SpotBalanceUpdateSchema: z.ZodObject<{
656
+ e: z.ZodLiteral<"balanceUpdate">;
657
+ }, z.core.$loose>;
658
+ type SpotBalanceUpdate = z.infer<typeof SpotBalanceUpdateSchema>;
659
+ declare const SpotListStatusSchema: z.ZodObject<{
660
+ e: z.ZodLiteral<"listStatus">;
661
+ }, z.core.$loose>;
662
+ type SpotListStatus = z.infer<typeof SpotListStatusSchema>;
663
+ type SpotUserDataEvent = SpotExecutionReport | SpotOutboundAccountPosition | SpotBalanceUpdate | SpotListStatus;
664
+ declare function parseSpotUserDataEvent(raw: unknown): SpotUserDataEvent;
665
+
666
+ declare class SpotTrading {
667
+ private readonly http;
668
+ constructor(http: HttpClient);
669
+ createOrder(params: Record<string, unknown>): Promise<SpotOrder>;
670
+ testOrder(params: Record<string, unknown>): Promise<Record<string, unknown>>;
671
+ getOrder(symbol: string, options?: {
672
+ orderId?: number;
673
+ origClientOrderId?: string;
674
+ }): Promise<SpotOrder>;
675
+ cancelOrder(symbol: string, options?: {
676
+ orderId?: number;
677
+ origClientOrderId?: string;
678
+ newClientOrderId?: string;
679
+ }): Promise<SpotOrder>;
680
+ cancelOpenOrders(symbol: string): Promise<SpotOrder[]>;
681
+ getOpenOrders(symbol?: string): Promise<SpotOrder[]>;
682
+ getAllOrders(symbol: string, options?: {
683
+ orderId?: number;
684
+ startTime?: number;
685
+ endTime?: number;
686
+ limit?: number;
687
+ }): Promise<SpotOrder[]>;
688
+ cancelReplaceOrder(params: Record<string, unknown>): Promise<Record<string, unknown>>;
689
+ createOCOOrder(params: Record<string, unknown>): Promise<SpotOCOOrderAck>;
690
+ cancelOCOOrder(symbol: string, options?: {
691
+ orderListId?: number;
692
+ listClientOrderId?: string;
693
+ newClientOrderId?: string;
694
+ }): Promise<SpotOCOOrderAck>;
695
+ getOCOOrder(symbol: string, options?: {
696
+ orderListId?: number;
697
+ origClientOrderId?: string;
698
+ }): Promise<SpotOCOOrderAck>;
699
+ getOpenOCOOrders(): Promise<SpotOCOOrderAck[]>;
700
+ getAllOCOOrders(symbol: string, options?: {
701
+ fromId?: number;
702
+ startTime?: number;
703
+ endTime?: number;
704
+ limit?: number;
705
+ }): Promise<SpotOCOOrderAck[]>;
706
+ cancelOpenOCOOrders(symbol: string): Promise<SpotOCOOrderAck[]>;
707
+ }
708
+ declare class SpotAccount {
709
+ private readonly http;
710
+ constructor(http: HttpClient);
711
+ account(): Promise<SpotAccountInfo>;
712
+ myTrades(symbol: string, options?: {
713
+ orderId?: number;
714
+ startTime?: number;
715
+ endTime?: number;
716
+ fromId?: number;
717
+ limit?: number;
718
+ }): Promise<SpotTrade[]>;
719
+ myPreventedMatches(symbol: string, options?: {
720
+ preventedMatchId?: number;
721
+ orderId?: number;
722
+ fromPreventedMatchId?: number;
723
+ limit?: number;
724
+ }): Promise<unknown[]>;
725
+ accountCommission(symbol: string): Promise<Record<string, unknown>>;
726
+ rateLimitOrder(): Promise<unknown[]>;
727
+ }
728
+
729
+ declare const ListenKeySchema: z.ZodObject<{
730
+ listenKey: z.ZodString;
731
+ }, z.core.$strip>;
732
+ type ListenKey = z.infer<typeof ListenKeySchema>;
733
+ declare const UserDataAccountUpdateSchema: z.ZodObject<{
734
+ e: z.ZodLiteral<"ACCOUNT_UPDATE">;
735
+ E: z.ZodNumber;
736
+ T: z.ZodNumber;
737
+ a: z.ZodObject<{
738
+ m: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
739
+ B: z.ZodArray<z.ZodObject<{
740
+ a: z.ZodString;
741
+ wb: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
742
+ cw: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
743
+ bc: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
744
+ }, z.core.$strip>>;
745
+ P: z.ZodArray<z.ZodObject<{
746
+ s: z.ZodString;
747
+ pa: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
748
+ ep: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
749
+ cr: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
750
+ up: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
751
+ mt: z.ZodString;
752
+ iw: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
753
+ ps: z.ZodString;
754
+ }, z.core.$strip>>;
755
+ }, z.core.$strip>;
756
+ }, z.core.$strip>;
757
+ type UserDataAccountUpdate = z.infer<typeof UserDataAccountUpdateSchema>;
758
+ declare const UserDataOrderTradeUpdateSchema: z.ZodObject<{
759
+ e: z.ZodLiteral<"ORDER_TRADE_UPDATE">;
760
+ E: z.ZodNumber;
761
+ T: z.ZodNumber;
762
+ o: z.ZodObject<{
763
+ s: z.ZodString;
764
+ c: z.ZodString;
765
+ i: z.ZodNumber;
766
+ S: z.ZodString;
767
+ o: z.ZodString;
768
+ f: z.ZodString;
769
+ q: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
770
+ p: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
771
+ ap: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
772
+ sp: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
773
+ x: z.ZodString;
774
+ X: z.ZodString;
775
+ l: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
776
+ z: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
777
+ L: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
778
+ n: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
779
+ N: z.ZodString;
780
+ T: z.ZodNumber;
781
+ t: z.ZodNumber;
782
+ b: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
783
+ a: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
784
+ m: z.ZodBoolean;
785
+ R: z.ZodBoolean;
786
+ wt: z.ZodString;
787
+ ot: z.ZodString;
788
+ ps: z.ZodString;
789
+ cp: z.ZodOptional<z.ZodBoolean>;
790
+ AP: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
791
+ cr: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
792
+ rp: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
793
+ }, z.core.$strip>;
794
+ }, z.core.$strip>;
795
+ type UserDataOrderTradeUpdate = z.infer<typeof UserDataOrderTradeUpdateSchema>;
796
+ declare const UserDataMarginCallSchema: z.ZodObject<{
797
+ e: z.ZodLiteral<"MARGIN_CALL">;
798
+ E: z.ZodNumber;
799
+ cw: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
800
+ p: z.ZodArray<z.ZodObject<{
801
+ s: z.ZodString;
802
+ ps: z.ZodString;
803
+ pa: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
804
+ mt: z.ZodString;
805
+ iw: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
806
+ mp: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
807
+ up: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
808
+ mm: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
809
+ }, z.core.$strip>>;
810
+ }, z.core.$strip>;
811
+ type UserDataMarginCall = z.infer<typeof UserDataMarginCallSchema>;
812
+ type UserDataEvent = UserDataAccountUpdate | UserDataOrderTradeUpdate | UserDataMarginCall;
813
+ declare function parseUserDataEvent(raw: unknown): UserDataEvent;
814
+ declare const WsApiResponseSchema: z.ZodObject<{
815
+ id: z.ZodString;
816
+ status: z.ZodNumber;
817
+ result: z.ZodUnknown;
818
+ error: z.ZodOptional<z.ZodObject<{
819
+ code: z.ZodNumber;
820
+ msg: z.ZodString;
821
+ }, z.core.$strip>>;
822
+ }, z.core.$strip>;
823
+ type WsApiResponse = z.infer<typeof WsApiResponseSchema>;
824
+
825
+ declare class SpotUserDataStream {
826
+ private readonly http;
827
+ constructor(http: HttpClient);
828
+ createListenKey(): Promise<ListenKey>;
829
+ keepAliveListenKey(): Promise<Record<string, unknown>>;
830
+ closeListenKey(): Promise<Record<string, unknown>>;
831
+ }
832
+
833
+ declare const BalanceSchema: z.ZodObject<{
834
+ accountAlias: z.ZodString;
835
+ asset: z.ZodString;
836
+ balance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
837
+ crossWalletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
838
+ crossUnPnl: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
839
+ availableBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
840
+ maxWithdrawAmount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
841
+ marginAvailable: z.ZodBoolean;
842
+ updateTime: z.ZodNumber;
843
+ }, z.core.$strip>;
844
+ type Balance = z.infer<typeof BalanceSchema>;
845
+ declare const BalancesResponseSchema: z.ZodArray<z.ZodObject<{
846
+ accountAlias: z.ZodString;
847
+ asset: z.ZodString;
848
+ balance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
849
+ crossWalletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
850
+ crossUnPnl: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
851
+ availableBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
852
+ maxWithdrawAmount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
853
+ marginAvailable: z.ZodBoolean;
854
+ updateTime: z.ZodNumber;
855
+ }, z.core.$strip>>;
856
+ declare const PositionRiskSchema: z.ZodObject<{
857
+ symbol: z.ZodString;
858
+ positionAmt: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
859
+ entryPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
860
+ markPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
861
+ unRealizedProfit: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
862
+ liquidationPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
863
+ leverage: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
864
+ marginType: z.ZodEnum<{
865
+ isolated: "isolated";
866
+ cross: "cross";
867
+ }>;
868
+ positionSide: z.ZodString;
869
+ isolatedWallet: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
870
+ isolatedMargin: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
871
+ notional: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
872
+ updateTime: z.ZodOptional<z.ZodNumber>;
873
+ }, z.core.$strip>;
874
+ type PositionRisk = z.infer<typeof PositionRiskSchema>;
875
+ declare const PositionRiskResponseSchema: z.ZodArray<z.ZodObject<{
876
+ symbol: z.ZodString;
877
+ positionAmt: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
878
+ entryPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
879
+ markPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
880
+ unRealizedProfit: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
881
+ liquidationPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
882
+ leverage: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
883
+ marginType: z.ZodEnum<{
884
+ isolated: "isolated";
885
+ cross: "cross";
886
+ }>;
887
+ positionSide: z.ZodString;
888
+ isolatedWallet: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
889
+ isolatedMargin: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
890
+ notional: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
891
+ updateTime: z.ZodOptional<z.ZodNumber>;
892
+ }, z.core.$strip>>;
893
+ declare const AccountAssetSchema: z.ZodObject<{
894
+ asset: z.ZodString;
895
+ walletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
896
+ unrealizedProfit: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
897
+ marginBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
898
+ maintMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
899
+ initialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
900
+ positionInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
901
+ openOrderInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
902
+ crossWalletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
903
+ crossUnPnl: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
904
+ availableBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
905
+ maxWithdrawAmount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
906
+ marginAvailable: z.ZodOptional<z.ZodBoolean>;
907
+ updateTime: z.ZodNumber;
908
+ }, z.core.$strip>;
909
+ type AccountAsset = z.infer<typeof AccountAssetSchema>;
910
+ declare const AccountPositionSchema: z.ZodObject<{
911
+ symbol: z.ZodString;
912
+ positionAmt: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
913
+ initialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
914
+ maintMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
915
+ unrealizedProfit: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
916
+ positionInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
917
+ openOrderInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
918
+ leverage: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
919
+ isolated: z.ZodBoolean;
920
+ entryPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
921
+ positionSide: z.ZodString;
922
+ positionNotional: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
923
+ isolatedWallet: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
924
+ isolatedMargin: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
925
+ notional: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
926
+ }, z.core.$strip>;
927
+ type AccountPosition = z.infer<typeof AccountPositionSchema>;
928
+ declare const AccountSchema: z.ZodObject<{
929
+ feeTier: z.ZodNumber;
930
+ canTrade: z.ZodBoolean;
931
+ canDeposit: z.ZodBoolean;
932
+ canWithdraw: z.ZodBoolean;
933
+ updateTime: z.ZodNumber;
934
+ totalInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
935
+ totalMaintMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
936
+ totalWalletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
937
+ totalUnrealizedProfit: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
938
+ totalMarginBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
939
+ totalPositionInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
940
+ totalOpenOrderInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
941
+ totalCrossWalletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
942
+ totalCrossUnPnl: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
943
+ availableBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
944
+ maxWithdrawAmount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
945
+ assets: z.ZodArray<z.ZodObject<{
946
+ asset: z.ZodString;
947
+ walletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
948
+ unrealizedProfit: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
949
+ marginBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
950
+ maintMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
951
+ initialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
952
+ positionInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
953
+ openOrderInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
954
+ crossWalletBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
955
+ crossUnPnl: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
956
+ availableBalance: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
957
+ maxWithdrawAmount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
958
+ marginAvailable: z.ZodOptional<z.ZodBoolean>;
959
+ updateTime: z.ZodNumber;
960
+ }, z.core.$strip>>;
961
+ positions: z.ZodArray<z.ZodObject<{
962
+ symbol: z.ZodString;
963
+ positionAmt: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
964
+ initialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
965
+ maintMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
966
+ unrealizedProfit: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
967
+ positionInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
968
+ openOrderInitialMargin: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
969
+ leverage: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
970
+ isolated: z.ZodBoolean;
971
+ entryPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
972
+ positionSide: z.ZodString;
973
+ positionNotional: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
974
+ isolatedWallet: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
975
+ isolatedMargin: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
976
+ notional: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
977
+ }, z.core.$strip>>;
978
+ }, z.core.$strip>;
979
+ type Account = z.infer<typeof AccountSchema>;
980
+ declare const IncomeSchema: z.ZodObject<{
981
+ symbol: z.ZodOptional<z.ZodString>;
982
+ incomeType: z.ZodString;
983
+ income: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
984
+ asset: z.ZodString;
985
+ time: z.ZodNumber;
986
+ info: z.ZodOptional<z.ZodString>;
987
+ tranId: z.ZodNumber;
988
+ tradeId: z.ZodOptional<z.ZodString>;
989
+ }, z.core.$strip>;
990
+ type Income = z.infer<typeof IncomeSchema>;
991
+ declare const IncomeHistoryResponseSchema: z.ZodArray<z.ZodObject<{
992
+ symbol: z.ZodOptional<z.ZodString>;
993
+ incomeType: z.ZodString;
994
+ income: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
995
+ asset: z.ZodString;
996
+ time: z.ZodNumber;
997
+ info: z.ZodOptional<z.ZodString>;
998
+ tranId: z.ZodNumber;
999
+ tradeId: z.ZodOptional<z.ZodString>;
1000
+ }, z.core.$strip>>;
1001
+ declare const UserTradeSchema: z.ZodObject<{
1002
+ buyer: z.ZodBoolean;
1003
+ commission: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1004
+ commissionAsset: z.ZodString;
1005
+ id: z.ZodNumber;
1006
+ maker: z.ZodBoolean;
1007
+ orderId: z.ZodNumber;
1008
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1009
+ qty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1010
+ quoteQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1011
+ realizedPnl: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1012
+ side: z.ZodString;
1013
+ positionSide: z.ZodString;
1014
+ symbol: z.ZodString;
1015
+ time: z.ZodNumber;
1016
+ }, z.core.$strip>;
1017
+ type UserTrade = z.infer<typeof UserTradeSchema>;
1018
+ declare const UserTradesResponseSchema: z.ZodArray<z.ZodObject<{
1019
+ buyer: z.ZodBoolean;
1020
+ commission: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1021
+ commissionAsset: z.ZodString;
1022
+ id: z.ZodNumber;
1023
+ maker: z.ZodBoolean;
1024
+ orderId: z.ZodNumber;
1025
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1026
+ qty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1027
+ quoteQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1028
+ realizedPnl: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1029
+ side: z.ZodString;
1030
+ positionSide: z.ZodString;
1031
+ symbol: z.ZodString;
1032
+ time: z.ZodNumber;
1033
+ }, z.core.$strip>>;
1034
+ declare const CommissionRateSchema: z.ZodObject<{
1035
+ symbol: z.ZodString;
1036
+ makerCommissionRate: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1037
+ takerCommissionRate: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1038
+ }, z.core.$strip>;
1039
+ type CommissionRate = z.infer<typeof CommissionRateSchema>;
1040
+ declare const LeverageBracketSchema: z.ZodObject<{
1041
+ symbol: z.ZodOptional<z.ZodString>;
1042
+ bracketNotional: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1043
+ bracket: z.ZodOptional<z.ZodNumber>;
1044
+ maxLeverage: z.ZodOptional<z.ZodNumber>;
1045
+ maintMarginRatio: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1046
+ cum: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1047
+ }, z.core.$strip>;
1048
+ type LeverageBracket = z.infer<typeof LeverageBracketSchema>;
1049
+ declare const LeverageBracketResponseSchema: z.ZodArray<z.ZodObject<{
1050
+ symbol: z.ZodString;
1051
+ brackets: z.ZodArray<z.ZodObject<{
1052
+ symbol: z.ZodOptional<z.ZodString>;
1053
+ bracketNotional: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1054
+ bracket: z.ZodOptional<z.ZodNumber>;
1055
+ maxLeverage: z.ZodOptional<z.ZodNumber>;
1056
+ maintMarginRatio: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1057
+ cum: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1058
+ }, z.core.$strip>>;
1059
+ }, z.core.$strip>>;
1060
+ declare const PositionModeSchema: z.ZodObject<{
1061
+ dualSidePosition: z.ZodBoolean;
1062
+ }, z.core.$strip>;
1063
+ type PositionMode = z.infer<typeof PositionModeSchema>;
1064
+ declare const MultiAssetsMarginSchema: z.ZodObject<{
1065
+ multiAssetsMargin: z.ZodBoolean;
1066
+ }, z.core.$strip>;
1067
+ type MultiAssetsMargin = z.infer<typeof MultiAssetsMarginSchema>;
1068
+ declare const FeeBurnStatusSchema: z.ZodObject<{
1069
+ feeBurn: z.ZodBoolean;
1070
+ }, z.core.$strip>;
1071
+ type FeeBurnStatus = z.infer<typeof FeeBurnStatusSchema>;
1072
+ declare const PositionMarginHistoryEntrySchema: z.ZodObject<{
1073
+ amount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1074
+ asset: z.ZodString;
1075
+ symbol: z.ZodString;
1076
+ time: z.ZodNumber;
1077
+ type: z.ZodNumber;
1078
+ positionSide: z.ZodString;
1079
+ }, z.core.$strip>;
1080
+ type PositionMarginHistoryEntry = z.infer<typeof PositionMarginHistoryEntrySchema>;
1081
+ declare const PositionMarginHistorySchema: z.ZodArray<z.ZodObject<{
1082
+ amount: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1083
+ asset: z.ZodString;
1084
+ symbol: z.ZodString;
1085
+ time: z.ZodNumber;
1086
+ type: z.ZodNumber;
1087
+ positionSide: z.ZodString;
1088
+ }, z.core.$strip>>;
1089
+ declare const ApiTradingStatusSchema: z.ZodObject<{
1090
+ isLocked: z.ZodBoolean;
1091
+ plannedRecoverTime: z.ZodNumber;
1092
+ updateTime: z.ZodNumber;
1093
+ triggerCondition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1094
+ indicators: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1095
+ }, z.core.$strip>;
1096
+ type ApiTradingStatus = z.infer<typeof ApiTradingStatusSchema>;
1097
+ declare const RateLimitOrderSchema: z.ZodObject<{
1098
+ rateLimitType: z.ZodString;
1099
+ interval: z.ZodString;
1100
+ intervalNum: z.ZodNumber;
1101
+ limit: z.ZodNumber;
1102
+ count: z.ZodNumber;
1103
+ }, z.core.$strip>;
1104
+ type RateLimitOrder = z.infer<typeof RateLimitOrderSchema>;
1105
+ declare const RateLimitOrderResponseSchema: z.ZodArray<z.ZodObject<{
1106
+ rateLimitType: z.ZodString;
1107
+ interval: z.ZodString;
1108
+ intervalNum: z.ZodNumber;
1109
+ limit: z.ZodNumber;
1110
+ count: z.ZodNumber;
1111
+ }, z.core.$strip>>;
1112
+
1113
+ declare class FuturesAccount {
1114
+ private readonly http;
1115
+ constructor(http: HttpClient);
1116
+ balance(): Promise<Balance[]>;
1117
+ account(): Promise<Account>;
1118
+ positionRisk(symbol?: string): Promise<PositionRisk[]>;
1119
+ balanceV3(): Promise<Balance[]>;
1120
+ accountV3(): Promise<Account>;
1121
+ positionRiskV3(symbol?: string): Promise<PositionRisk[]>;
1122
+ incomeHistory(options?: {
1123
+ symbol?: string;
1124
+ incomeType?: string;
1125
+ startTime?: number;
1126
+ endTime?: number;
1127
+ limit?: number;
1128
+ }): Promise<Income[]>;
1129
+ userTrades(options?: {
1130
+ symbol?: string;
1131
+ startTime?: number;
1132
+ endTime?: number;
1133
+ limit?: number;
1134
+ fromId?: number;
1135
+ }): Promise<UserTrade[]>;
1136
+ leverageBrackets(symbol?: string): Promise<{
1137
+ symbol: string;
1138
+ brackets: LeverageBracket[];
1139
+ }[]>;
1140
+ commissionRate(symbol: string): Promise<CommissionRate>;
1141
+ multiAssetsMargin(): Promise<MultiAssetsMargin>;
1142
+ setMultiAssetsMargin(multiAssetsMargin: boolean): Promise<Record<string, unknown>>;
1143
+ feeBurnStatus(): Promise<FeeBurnStatus>;
1144
+ setFeeBurnStatus(feeBurn: boolean): Promise<Record<string, unknown>>;
1145
+ positionMode(): Promise<PositionMode>;
1146
+ setPositionMode(dualSidePosition: boolean): Promise<Record<string, unknown>>;
1147
+ apiTradingStatus(): Promise<ApiTradingStatus>;
1148
+ positionMarginHistory(options?: {
1149
+ symbol: string;
1150
+ type?: number;
1151
+ startTime?: number;
1152
+ endTime?: number;
1153
+ limit?: number;
1154
+ }): Promise<PositionMarginHistoryEntry[]>;
1155
+ rateLimitOrder(): Promise<RateLimitOrder[]>;
1156
+ accountConfig(): Promise<Record<string, unknown>>;
1157
+ pmAccountInfo(asset: string): Promise<Record<string, unknown>>;
1158
+ requestIncomeDownload(options: {
1159
+ startTime: number;
1160
+ endTime: number;
1161
+ }): Promise<Record<string, unknown>>;
1162
+ getIncomeDownloadStatus(downloadId: string): Promise<Record<string, unknown>>;
1163
+ requestOrderDownload(options?: {
1164
+ symbol?: string;
1165
+ startTime?: number;
1166
+ endTime?: number;
1167
+ }): Promise<Record<string, unknown>>;
1168
+ getOrderDownloadStatus(downloadId: string): Promise<Record<string, unknown>>;
1169
+ requestTradeDownload(options?: {
1170
+ symbol?: string;
1171
+ startTime?: number;
1172
+ endTime?: number;
1173
+ }): Promise<Record<string, unknown>>;
1174
+ getTradeDownloadStatus(downloadId: string): Promise<Record<string, unknown>>;
1175
+ }
1176
+
1177
+ declare const OrderSchema: z.ZodObject<{
1178
+ orderId: z.ZodNumber;
1179
+ symbol: z.ZodString;
1180
+ status: z.ZodString;
1181
+ clientOrderId: z.ZodString;
1182
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1183
+ avgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1184
+ origQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1185
+ executedQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1186
+ cumQuote: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1187
+ type: z.ZodString;
1188
+ reduceOnly: z.ZodBoolean;
1189
+ side: z.ZodString;
1190
+ positionSide: z.ZodString;
1191
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1192
+ closePosition: z.ZodOptional<z.ZodBoolean>;
1193
+ timeInForce: z.ZodOptional<z.ZodString>;
1194
+ origType: z.ZodOptional<z.ZodString>;
1195
+ time: z.ZodNumber;
1196
+ updateTime: z.ZodNumber;
1197
+ workingType: z.ZodOptional<z.ZodString>;
1198
+ priceProtect: z.ZodOptional<z.ZodBoolean>;
1199
+ }, z.core.$strip>;
1200
+ type Order = z.infer<typeof OrderSchema>;
1201
+ declare const OrderResponseSchema: z.ZodObject<{
1202
+ orderId: z.ZodNumber;
1203
+ symbol: z.ZodString;
1204
+ status: z.ZodString;
1205
+ clientOrderId: z.ZodString;
1206
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1207
+ avgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1208
+ origQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1209
+ executedQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1210
+ cumQuote: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1211
+ type: z.ZodString;
1212
+ reduceOnly: z.ZodBoolean;
1213
+ side: z.ZodString;
1214
+ positionSide: z.ZodString;
1215
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1216
+ closePosition: z.ZodOptional<z.ZodBoolean>;
1217
+ timeInForce: z.ZodOptional<z.ZodString>;
1218
+ origType: z.ZodOptional<z.ZodString>;
1219
+ time: z.ZodNumber;
1220
+ updateTime: z.ZodNumber;
1221
+ workingType: z.ZodOptional<z.ZodString>;
1222
+ priceProtect: z.ZodOptional<z.ZodBoolean>;
1223
+ }, z.core.$strip>;
1224
+ declare const OrdersResponseSchema: z.ZodArray<z.ZodObject<{
1225
+ orderId: z.ZodNumber;
1226
+ symbol: z.ZodString;
1227
+ status: z.ZodString;
1228
+ clientOrderId: z.ZodString;
1229
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1230
+ avgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1231
+ origQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1232
+ executedQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1233
+ cumQuote: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1234
+ type: z.ZodString;
1235
+ reduceOnly: z.ZodBoolean;
1236
+ side: z.ZodString;
1237
+ positionSide: z.ZodString;
1238
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1239
+ closePosition: z.ZodOptional<z.ZodBoolean>;
1240
+ timeInForce: z.ZodOptional<z.ZodString>;
1241
+ origType: z.ZodOptional<z.ZodString>;
1242
+ time: z.ZodNumber;
1243
+ updateTime: z.ZodNumber;
1244
+ workingType: z.ZodOptional<z.ZodString>;
1245
+ priceProtect: z.ZodOptional<z.ZodBoolean>;
1246
+ }, z.core.$strip>>;
1247
+ declare const CreateOrderParamsSchema: z.ZodObject<{
1248
+ symbol: z.ZodString;
1249
+ side: z.ZodEnum<{
1250
+ BUY: "BUY";
1251
+ SELL: "SELL";
1252
+ }>;
1253
+ type: z.ZodString;
1254
+ quantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1255
+ price: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1256
+ timeInForce: z.ZodOptional<z.ZodEnum<{
1257
+ GTC: "GTC";
1258
+ IOC: "IOC";
1259
+ FOK: "FOK";
1260
+ GTX: "GTX";
1261
+ GTD: "GTD";
1262
+ }>>;
1263
+ stopPrice: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1264
+ reduceOnly: z.ZodOptional<z.ZodBoolean>;
1265
+ positionSide: z.ZodOptional<z.ZodEnum<{
1266
+ BOTH: "BOTH";
1267
+ LONG: "LONG";
1268
+ SHORT: "SHORT";
1269
+ }>>;
1270
+ newClientOrderId: z.ZodOptional<z.ZodString>;
1271
+ closePosition: z.ZodOptional<z.ZodBoolean>;
1272
+ newOrderRespType: z.ZodOptional<z.ZodEnum<{
1273
+ ACK: "ACK";
1274
+ RESULT: "RESULT";
1275
+ }>>;
1276
+ priceProtect: z.ZodOptional<z.ZodBoolean>;
1277
+ workingType: z.ZodOptional<z.ZodEnum<{
1278
+ MARK_PRICE: "MARK_PRICE";
1279
+ CONTRACT_PRICE: "CONTRACT_PRICE";
1280
+ }>>;
1281
+ callbackRate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1282
+ activationPrice: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1283
+ selfTradePreventionMode: z.ZodOptional<z.ZodEnum<{
1284
+ NONE: "NONE";
1285
+ EXPIRE_TAKER: "EXPIRE_TAKER";
1286
+ EXPIRE_MAKER: "EXPIRE_MAKER";
1287
+ EXPIRE_BOTH: "EXPIRE_BOTH";
1288
+ }>>;
1289
+ goodTillDate: z.ZodOptional<z.ZodNumber>;
1290
+ }, z.core.$strip>;
1291
+ type CreateOrderParams = z.infer<typeof CreateOrderParamsSchema>;
1292
+ declare const ModifyOrderParamsSchema: z.ZodObject<{
1293
+ symbol: z.ZodString;
1294
+ side: z.ZodEnum<{
1295
+ BUY: "BUY";
1296
+ SELL: "SELL";
1297
+ }>;
1298
+ type: z.ZodString;
1299
+ quantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1300
+ price: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1301
+ timeInForce: z.ZodOptional<z.ZodEnum<{
1302
+ GTC: "GTC";
1303
+ IOC: "IOC";
1304
+ FOK: "FOK";
1305
+ GTX: "GTX";
1306
+ GTD: "GTD";
1307
+ }>>;
1308
+ stopPrice: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1309
+ reduceOnly: z.ZodOptional<z.ZodBoolean>;
1310
+ positionSide: z.ZodOptional<z.ZodEnum<{
1311
+ BOTH: "BOTH";
1312
+ LONG: "LONG";
1313
+ SHORT: "SHORT";
1314
+ }>>;
1315
+ newClientOrderId: z.ZodOptional<z.ZodString>;
1316
+ closePosition: z.ZodOptional<z.ZodBoolean>;
1317
+ newOrderRespType: z.ZodOptional<z.ZodEnum<{
1318
+ ACK: "ACK";
1319
+ RESULT: "RESULT";
1320
+ }>>;
1321
+ priceProtect: z.ZodOptional<z.ZodBoolean>;
1322
+ workingType: z.ZodOptional<z.ZodEnum<{
1323
+ MARK_PRICE: "MARK_PRICE";
1324
+ CONTRACT_PRICE: "CONTRACT_PRICE";
1325
+ }>>;
1326
+ callbackRate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1327
+ activationPrice: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1328
+ selfTradePreventionMode: z.ZodOptional<z.ZodEnum<{
1329
+ NONE: "NONE";
1330
+ EXPIRE_TAKER: "EXPIRE_TAKER";
1331
+ EXPIRE_MAKER: "EXPIRE_MAKER";
1332
+ EXPIRE_BOTH: "EXPIRE_BOTH";
1333
+ }>>;
1334
+ goodTillDate: z.ZodOptional<z.ZodNumber>;
1335
+ orderId: z.ZodOptional<z.ZodNumber>;
1336
+ origClientOrderId: z.ZodOptional<z.ZodString>;
1337
+ origType: z.ZodOptional<z.ZodString>;
1338
+ }, z.core.$strip>;
1339
+ type ModifyOrderParams = z.infer<typeof ModifyOrderParamsSchema>;
1340
+ declare const AlgoOrderSchema: z.ZodObject<{
1341
+ algoId: z.ZodNumber;
1342
+ symbol: z.ZodString;
1343
+ side: z.ZodString;
1344
+ positionSide: z.ZodString;
1345
+ totalQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1346
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1347
+ executedAmt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1348
+ avgPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1349
+ clientAlgoId: z.ZodOptional<z.ZodString>;
1350
+ bookTime: z.ZodOptional<z.ZodNumber>;
1351
+ endTime: z.ZodOptional<z.ZodNumber>;
1352
+ algoStatus: z.ZodOptional<z.ZodString>;
1353
+ algoType: z.ZodOptional<z.ZodString>;
1354
+ urgency: z.ZodOptional<z.ZodString>;
1355
+ }, z.core.$strip>;
1356
+ type AlgoOrder = z.infer<typeof AlgoOrderSchema>;
1357
+ declare const AlgoOrderResponseSchema: z.ZodObject<{
1358
+ algoId: z.ZodNumber;
1359
+ symbol: z.ZodString;
1360
+ side: z.ZodString;
1361
+ positionSide: z.ZodString;
1362
+ totalQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1363
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1364
+ executedAmt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1365
+ avgPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1366
+ clientAlgoId: z.ZodOptional<z.ZodString>;
1367
+ bookTime: z.ZodOptional<z.ZodNumber>;
1368
+ endTime: z.ZodOptional<z.ZodNumber>;
1369
+ algoStatus: z.ZodOptional<z.ZodString>;
1370
+ algoType: z.ZodOptional<z.ZodString>;
1371
+ urgency: z.ZodOptional<z.ZodString>;
1372
+ }, z.core.$strip>;
1373
+ declare const AlgoOrdersResponseSchema: z.ZodArray<z.ZodObject<{
1374
+ algoId: z.ZodNumber;
1375
+ symbol: z.ZodString;
1376
+ side: z.ZodString;
1377
+ positionSide: z.ZodString;
1378
+ totalQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1379
+ executedQty: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1380
+ executedAmt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1381
+ avgPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1382
+ clientAlgoId: z.ZodOptional<z.ZodString>;
1383
+ bookTime: z.ZodOptional<z.ZodNumber>;
1384
+ endTime: z.ZodOptional<z.ZodNumber>;
1385
+ algoStatus: z.ZodOptional<z.ZodString>;
1386
+ algoType: z.ZodOptional<z.ZodString>;
1387
+ urgency: z.ZodOptional<z.ZodString>;
1388
+ }, z.core.$strip>>;
1389
+ declare const BatchOrdersItemSchema: z.ZodObject<{
1390
+ orderId: z.ZodNumber;
1391
+ symbol: z.ZodString;
1392
+ status: z.ZodString;
1393
+ clientOrderId: z.ZodString;
1394
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1395
+ avgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1396
+ origQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1397
+ executedQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1398
+ cumQuote: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1399
+ type: z.ZodString;
1400
+ reduceOnly: z.ZodBoolean;
1401
+ side: z.ZodString;
1402
+ positionSide: z.ZodString;
1403
+ time: z.ZodNumber;
1404
+ updateTime: z.ZodNumber;
1405
+ }, z.core.$strip>;
1406
+ type BatchOrdersItem = z.infer<typeof BatchOrdersItemSchema>;
1407
+ declare const BatchOrdersResponseSchema: z.ZodArray<z.ZodObject<{
1408
+ orderId: z.ZodNumber;
1409
+ symbol: z.ZodString;
1410
+ status: z.ZodString;
1411
+ clientOrderId: z.ZodString;
1412
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1413
+ avgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1414
+ origQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1415
+ executedQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1416
+ cumQuote: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1417
+ type: z.ZodString;
1418
+ reduceOnly: z.ZodBoolean;
1419
+ side: z.ZodString;
1420
+ positionSide: z.ZodString;
1421
+ time: z.ZodNumber;
1422
+ updateTime: z.ZodNumber;
1423
+ }, z.core.$strip>>;
1424
+ declare const OrderModifyHistoryEntrySchema: z.ZodObject<{
1425
+ orderId: z.ZodNumber;
1426
+ symbol: z.ZodString;
1427
+ status: z.ZodString;
1428
+ clientOrderId: z.ZodString;
1429
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1430
+ avgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1431
+ origQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1432
+ executedQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1433
+ cumQuote: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1434
+ type: z.ZodString;
1435
+ reduceOnly: z.ZodBoolean;
1436
+ side: z.ZodString;
1437
+ positionSide: z.ZodString;
1438
+ origType: z.ZodOptional<z.ZodString>;
1439
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1440
+ updateTime: z.ZodNumber;
1441
+ }, z.core.$strip>;
1442
+ type OrderModifyHistoryEntry = z.infer<typeof OrderModifyHistoryEntrySchema>;
1443
+ declare const OrderModifyHistorySchema: z.ZodArray<z.ZodObject<{
1444
+ orderId: z.ZodNumber;
1445
+ symbol: z.ZodString;
1446
+ status: z.ZodString;
1447
+ clientOrderId: z.ZodString;
1448
+ price: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1449
+ avgPrice: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1450
+ origQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1451
+ executedQty: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1452
+ cumQuote: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
1453
+ type: z.ZodString;
1454
+ reduceOnly: z.ZodBoolean;
1455
+ side: z.ZodString;
1456
+ positionSide: z.ZodString;
1457
+ origType: z.ZodOptional<z.ZodString>;
1458
+ stopPrice: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
1459
+ updateTime: z.ZodNumber;
1460
+ }, z.core.$strip>>;
1461
+ declare const LeverageChangeSchema: z.ZodObject<{
1462
+ leverage: z.ZodNumber;
1463
+ maxNotionalValue: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
1464
+ symbol: z.ZodString;
1465
+ }, z.core.$strip>;
1466
+ type LeverageChange = z.infer<typeof LeverageChangeSchema>;
1467
+ declare const MarginTypeChangeSchema: z.ZodObject<{
1468
+ code: z.ZodNumber;
1469
+ msg: z.ZodString;
1470
+ }, z.core.$strip>;
1471
+ type MarginTypeChange = z.infer<typeof MarginTypeChangeSchema>;
1472
+ declare const PositionMarginChangeSchema: z.ZodObject<{
1473
+ amount: z.ZodNumber;
1474
+ code: z.ZodNumber;
1475
+ msg: z.ZodString;
1476
+ type: z.ZodNumber;
1477
+ }, z.core.$strip>;
1478
+ type PositionMarginChange = z.infer<typeof PositionMarginChangeSchema>;
1479
+ declare const CountdownCancelAllSchema: z.ZodObject<{
1480
+ symbol: z.ZodString;
1481
+ countdownTime: z.ZodNumber;
1482
+ }, z.core.$strip>;
1483
+ type CountdownCancelAll = z.infer<typeof CountdownCancelAllSchema>;
1484
+ declare const NewOrderAckSchema: z.ZodObject<{
1485
+ orderId: z.ZodNumber;
1486
+ symbol: z.ZodString;
1487
+ status: z.ZodString;
1488
+ clientOrderId: z.ZodString;
1489
+ price: z.ZodString;
1490
+ avgPrice: z.ZodString;
1491
+ origQty: z.ZodString;
1492
+ executedQty: z.ZodString;
1493
+ cumQuote: z.ZodString;
1494
+ type: z.ZodString;
1495
+ reduceOnly: z.ZodBoolean;
1496
+ side: z.ZodString;
1497
+ positionSide: z.ZodString;
1498
+ timeInForce: z.ZodOptional<z.ZodString>;
1499
+ time: z.ZodNumber;
1500
+ updateTime: z.ZodNumber;
1501
+ workingType: z.ZodOptional<z.ZodString>;
1502
+ origType: z.ZodOptional<z.ZodString>;
1503
+ closePosition: z.ZodOptional<z.ZodBoolean>;
1504
+ }, z.core.$strip>;
1505
+ type NewOrderAck = z.infer<typeof NewOrderAckSchema>;
1506
+
1507
+ declare class FuturesTrading {
1508
+ private readonly http;
1509
+ constructor(http: HttpClient);
1510
+ setLeverage(symbol: string, leverage: number): Promise<LeverageChange>;
1511
+ createOrder(params: CreateOrderParams): Promise<NewOrderAck | Order>;
1512
+ createTestOrder(params: CreateOrderParams): Promise<Record<string, unknown>>;
1513
+ getOrder(symbol: string, options?: {
1514
+ orderId?: number;
1515
+ origClientOrderId?: string;
1516
+ }): Promise<Order>;
1517
+ cancelOrder(symbol: string, options?: {
1518
+ orderId?: number;
1519
+ origClientOrderId?: string;
1520
+ }): Promise<Order>;
1521
+ getCurrentOrder(symbol: string, options?: {
1522
+ orderId?: number;
1523
+ origClientOrderId?: string;
1524
+ }): Promise<Order>;
1525
+ getOpenOrders(symbol?: string): Promise<Order[]>;
1526
+ getAllOrders(symbol: string, options?: {
1527
+ orderId?: number;
1528
+ startTime?: number;
1529
+ endTime?: number;
1530
+ limit?: number;
1531
+ }): Promise<Order[]>;
1532
+ cancelAllOpenOrders(symbol: string): Promise<Record<string, unknown>>;
1533
+ modifyOrder(params: ModifyOrderParams): Promise<Order>;
1534
+ createAlgoOrder(params: Record<string, unknown>): Promise<AlgoOrder>;
1535
+ cancelAlgoOrder(symbol: string, options?: {
1536
+ algoId?: number;
1537
+ clientAlgoId?: string;
1538
+ }): Promise<Record<string, unknown>>;
1539
+ cancelAllOpenAlgoOrders(symbol: string): Promise<Record<string, unknown>>;
1540
+ getAlgoOrder(symbol: string, options?: {
1541
+ algoId?: number;
1542
+ clientAlgoId?: string;
1543
+ }): Promise<AlgoOrder>;
1544
+ getOpenAlgoOrders(symbol?: string): Promise<AlgoOrder[]>;
1545
+ getAllAlgoOrders(symbol: string, options?: {
1546
+ startTime?: number;
1547
+ endTime?: number;
1548
+ limit?: number;
1549
+ }): Promise<AlgoOrder[]>;
1550
+ createBatchOrders(batchOrders: CreateOrderParams[]): Promise<BatchOrdersItem[]>;
1551
+ modifyBatchOrders(batchOrders: ModifyOrderParams[]): Promise<BatchOrdersItem[]>;
1552
+ cancelBatchOrders(symbol: string, options?: {
1553
+ orderIdList?: number[];
1554
+ origClientOrderIdList?: string[];
1555
+ }): Promise<BatchOrdersItem[]>;
1556
+ getOrderModifyHistory(symbol: string, options?: {
1557
+ startTime?: number;
1558
+ endTime?: number;
1559
+ limit?: number;
1560
+ }): Promise<OrderModifyHistoryEntry[]>;
1561
+ setMarginType(symbol: string, marginType: 'isolated' | 'cross'): Promise<MarginTypeChange>;
1562
+ modifyPositionMargin(symbol: string, amount: number, type: number): Promise<PositionMarginChange>;
1563
+ setCountdownCancelAll(symbol: string, countdownTime: number): Promise<CountdownCancelAll>;
1564
+ convertExchangeInfo(options?: {
1565
+ fromAsset?: string;
1566
+ toAsset?: string;
1567
+ }): Promise<unknown[]>;
1568
+ convertGetQuote(params: {
1569
+ fromAsset: string;
1570
+ toAsset: string;
1571
+ fromAmount?: number;
1572
+ toAmount?: number;
1573
+ validTime?: '10s' | '30s' | '1m' | '2m';
1574
+ }): Promise<Record<string, unknown>>;
1575
+ convertAcceptQuote(quoteId: string): Promise<Record<string, unknown>>;
1576
+ convertOrderStatus(options: {
1577
+ orderId?: string;
1578
+ quoteId?: string;
1579
+ }): Promise<Record<string, unknown>>;
1580
+ }
1581
+
1582
+ /**
1583
+ * Symbol trading rules, flattened out of the loose `filters` array that
1584
+ * `/fapi/v1/exchangeInfo` returns. Callers need these to round prices and
1585
+ * quantities before sending an order — Binance rejects anything that does not
1586
+ * sit exactly on a tick/step boundary (-1111) or that falls under the minimum
1587
+ * notional (-4164).
1588
+ */
1589
+ interface SymbolRules {
1590
+ symbol: string;
1591
+ status: string;
1592
+ baseAsset: string;
1593
+ quoteAsset: string;
1594
+ /** Tick the price must sit on, e.g. 0.10 for BTCUSDT. */
1595
+ tickSize: number;
1596
+ tickDecimals: number;
1597
+ /** Step the quantity must sit on for limit orders, e.g. 0.001 for BTCUSDT. */
1598
+ stepSize: number;
1599
+ stepDecimals: number;
1600
+ minQty: number;
1601
+ maxQty: number;
1602
+ /** MARKET orders carry their own LOT_SIZE, usually with a lower max. */
1603
+ marketStepSize: number;
1604
+ marketStepDecimals: number;
1605
+ marketMinQty: number;
1606
+ marketMaxQty: number;
1607
+ /** MIN_NOTIONAL — on USD-M futures the field is `notional`, not `minNotional`. */
1608
+ minNotional: number;
1609
+ }
1610
+ /**
1611
+ * Decimal places implied by a step string, e.g. "0.00100000" -> 3, "1" -> 0.
1612
+ * Derived from the string rather than the number so that a step like 0.0000001
1613
+ * never picks up an exponent representation.
1614
+ */
1615
+ declare function stepDecimals(step: string | number): number;
1616
+ /** Format a value at a fixed precision, which is what should be sent to Binance. */
1617
+ declare function formatToDecimals(value: number, decimals: number): string;
1618
+ /**
1619
+ * Round down onto a step boundary. Used for quantities, where rounding up would
1620
+ * silently take on more risk than the caller asked for. The epsilon absorbs
1621
+ * binary-float error so that e.g. 0.3 / 0.1 = 2.9999999999999996 still floors to 3.
1622
+ */
1623
+ declare function floorToStep(value: number, step: number, decimals?: number): number;
1624
+ /** Round to the nearest step boundary. Used for prices, where direction is not a risk. */
1625
+ declare function roundToStep(value: number, step: number, decimals?: number): number;
1626
+ /** Flatten one `exchangeInfo.symbols[]` entry into typed trading rules. */
1627
+ declare function symbolRulesFrom(symbol: ExchangeSymbol): SymbolRules;
1628
+
1629
+ interface SizePositionParams {
1630
+ symbol: string;
1631
+ side: 'BUY' | 'SELL';
1632
+ stopPrice: number;
1633
+ entryPrice?: number;
1634
+ riskAmount?: number;
1635
+ riskPct?: number;
1636
+ leverage?: number;
1637
+ marketOrder?: boolean;
1638
+ }
1639
+ interface PositionSizing {
1640
+ ok: boolean;
1641
+ reasons: string[];
1642
+ symbol: string;
1643
+ side: 'BUY' | 'SELL';
1644
+ entryPrice: number;
1645
+ stopPrice: number;
1646
+ riskPerUnit: number;
1647
+ riskAmount: number;
1648
+ rawQuantity: number;
1649
+ quantity: number;
1650
+ /** Pass this to createOrder — a string avoids float round-tripping. */
1651
+ quantityStr: string;
1652
+ notional: number;
1653
+ minNotional: number;
1654
+ leverage: number;
1655
+ requiredMargin: number;
1656
+ availableBalance?: number;
1657
+ rules: SymbolRules;
1658
+ }
1659
+ interface ClosePositionParams {
1660
+ symbol: string;
1661
+ positionSide?: 'BOTH' | 'LONG' | 'SHORT';
1662
+ /** Fraction of the position to close, 0 < portion <= 1. Defaults to the whole position. */
1663
+ portion?: number;
1664
+ dryRun?: boolean;
1665
+ }
1666
+ interface BracketOrderParams {
1667
+ symbol: string;
1668
+ side: 'BUY' | 'SELL';
1669
+ quantity: number | string;
1670
+ entryPrice?: number;
1671
+ stopLossPrice: number;
1672
+ takeProfitPrice?: number;
1673
+ positionSide?: 'BOTH' | 'LONG' | 'SHORT';
1674
+ workingType?: 'MARK_PRICE' | 'CONTRACT_PRICE';
1675
+ }
1676
+ /**
1677
+ * Composite operations layered over the single-endpoint resources.
1678
+ *
1679
+ * Everything here fans out over `FuturesMarket` / `FuturesData` / `FuturesAccount` /
1680
+ * `FuturesTrading` directly. It deliberately does not call the LLM tool handlers,
1681
+ * which return formatted JSON strings — composing at this layer keeps typed values
1682
+ * typed and avoids a parse/stringify round-trip per step.
1683
+ */
1684
+ declare class FuturesOps {
1685
+ private readonly market;
1686
+ private readonly data;
1687
+ private readonly account;
1688
+ private readonly trading;
1689
+ private rulesCache;
1690
+ constructor(market: FuturesMarket, data: FuturesData, account: FuturesAccount, trading: FuturesTrading);
1691
+ /** Typed tick/step/notional rules for a symbol, cached briefly (exchangeInfo is a large payload). */
1692
+ symbolRules(symbol: string, options?: {
1693
+ refresh?: boolean;
1694
+ }): Promise<SymbolRules>;
1695
+ /** Round a price to the symbol's tick and a quantity to its step, ready to send. */
1696
+ quantize(symbol: string, values: {
1697
+ price?: number;
1698
+ quantity?: number;
1699
+ marketOrder?: boolean;
1700
+ }): Promise<{
1701
+ price?: string;
1702
+ quantity?: string;
1703
+ rules: SymbolRules;
1704
+ }>;
1705
+ /**
1706
+ * Risk-based position sizing. Converts "risk N quote units between entry and stop"
1707
+ * into a quantity that satisfies the symbol's step size, lot bounds and min notional,
1708
+ * and reports every constraint it could not satisfy instead of silently adjusting risk.
1709
+ */
1710
+ sizePosition(params: SizePositionParams): Promise<PositionSizing>;
1711
+ /**
1712
+ * Flatten an open position with a reduce-only market order.
1713
+ *
1714
+ * Picks the closing side from the sign of `positionAmt` and, critically, chooses
1715
+ * between `reduceOnly` and `positionSide`: Binance rejects `reduceOnly` in hedge
1716
+ * mode, and rejects a LONG/SHORT `positionSide` in one-way mode.
1717
+ */
1718
+ closePosition(params: ClosePositionParams): Promise<{
1719
+ closed: boolean;
1720
+ reason?: string;
1721
+ position?: PositionRisk;
1722
+ order?: unknown;
1723
+ request?: Record<string, unknown>;
1724
+ }>;
1725
+ /**
1726
+ * One-call market picture: 24h stats, mark/index and funding, open interest and
1727
+ * positioning. Uses allSettled so a single unavailable feed degrades one field
1728
+ * instead of failing the whole snapshot.
1729
+ */
1730
+ marketSnapshot(symbol: string, options?: {
1731
+ period?: string;
1732
+ }): Promise<Record<string, unknown>>;
1733
+ /** Balances, open positions and working orders in one call, with the noise filtered out. */
1734
+ accountOverview(): Promise<Record<string, unknown>>;
1735
+ /**
1736
+ * Entry order plus its protective stop-loss and optional take-profit, with every
1737
+ * price quantized to the symbol tick.
1738
+ *
1739
+ * The protective legs are placed after the entry is accepted. If a protective leg
1740
+ * fails, the failure is reported per-leg rather than unwound: the entry may already
1741
+ * have filled, so cancelling it is not a safe automatic recovery.
1742
+ */
1743
+ placeBracketOrder(params: BracketOrderParams): Promise<Record<string, unknown>>;
1744
+ }
1745
+
1746
+ declare class UserDataStream {
1747
+ private readonly http;
1748
+ constructor(http: HttpClient);
1749
+ createListenKey(): Promise<ListenKey>;
1750
+ keepAliveListenKey(): Promise<Record<string, unknown>>;
1751
+ closeListenKey(): Promise<Record<string, unknown>>;
1752
+ }
1753
+
1754
+ interface BaseWSOptions {
1755
+ baseStreamUrl: string;
1756
+ reconnectDelayMs?: number;
1757
+ maxReconnectDelayMs?: number;
1758
+ }
1759
+ declare class BaseWS extends EventEmitter {
1760
+ private readonly options;
1761
+ private ws;
1762
+ private readonly streams;
1763
+ private reconnectAttempt;
1764
+ private closedByUser;
1765
+ constructor(options: BaseWSOptions);
1766
+ subscribe(streams: string[]): void;
1767
+ unsubscribe(streams: string[]): void;
1768
+ close(): void;
1769
+ reconnect(): void;
1770
+ resetReconnectAttempts(): void;
1771
+ private isOpen;
1772
+ private send;
1773
+ private connect;
1774
+ private handleMessage;
1775
+ private scheduleReconnect;
1776
+ }
1777
+
1778
+ type ContractType = 'perpetual' | 'current_quarter' | 'next_quarter';
1779
+ type MarkPriceSpeed = '1s' | '3s';
1780
+ declare class FuturesMarketWS extends BaseWS {
1781
+ constructor(baseStreamUrl?: string);
1782
+ kline(symbol: string, interval: KlineInterval): string;
1783
+ continuousKline(symbol: string, contractType: ContractType, interval: KlineInterval): string;
1784
+ indexPriceKline(symbol: string, interval: KlineInterval): string;
1785
+ markPriceKline(symbol: string, interval: KlineInterval): string;
1786
+ aggTrade(symbol: string): string;
1787
+ trade(symbol: string): string;
1788
+ depth(symbol: string, level?: 5 | 10 | 20): string;
1789
+ depthDiff(symbol: string): string;
1790
+ depthDiffSpeed(symbol: string, updateSpeed: '100ms' | '500ms'): string;
1791
+ ticker(symbol: string): string;
1792
+ rollingWindowTicker(symbol: string, window?: '1h' | '4h' | '1d'): string;
1793
+ allRollingWindowTickers(window?: '1h' | '4h' | '1d'): string;
1794
+ allMarketTickers(): string;
1795
+ allBookTickers(): string;
1796
+ miniTicker(symbol: string): string;
1797
+ allMiniTickers(): string;
1798
+ markPrice(symbol: string, updateSpeed?: MarkPriceSpeed): string;
1799
+ allMarkPrices(): string;
1800
+ bookTicker(symbol: string): string;
1801
+ liquidationOrder(symbol: string): string;
1802
+ allLiquidationOrders(): string;
1803
+ compositeIndex(symbol: string): string;
1804
+ assetIndex(symbol: string): string;
1805
+ allAssetIndices(): string;
1806
+ }
1807
+
1808
+ declare class SpotMarketWS extends BaseWS {
1809
+ constructor(baseStreamUrl?: string);
1810
+ kline(symbol: string, interval: KlineInterval): string;
1811
+ aggTrade(symbol: string): string;
1812
+ trade(symbol: string): string;
1813
+ depth(symbol: string, level?: 5 | 10 | 20): string;
1814
+ depthDiff(symbol: string): string;
1815
+ depthDiffSpeed(symbol: string, updateSpeed: '100ms'): string;
1816
+ avgPrice(symbol: string): string;
1817
+ ticker(symbol: string): string;
1818
+ rollingWindowTicker(symbol: string, window?: '1h' | '4h' | '1d' | '7d' | '30d'): string;
1819
+ allRollingWindowTickers(window?: '1h' | '4h' | '1d' | '7d' | '30d'): string;
1820
+ miniTicker(symbol: string): string;
1821
+ allMarketTickers(): string;
1822
+ allMiniTickers(): string;
1823
+ bookTicker(symbol: string): string;
1824
+ allBookTickers(): string;
1825
+ }
1826
+
1827
+ interface SpotUserWSOptions {
1828
+ baseUserUrl: string;
1829
+ getListenKey: () => string | null;
1830
+ reconnectDelayMs?: number;
1831
+ maxReconnectDelayMs?: number;
1832
+ }
1833
+ declare class SpotUserWS extends EventEmitter {
1834
+ private readonly options;
1835
+ private ws;
1836
+ private reconnectAttempt;
1837
+ private closedByUser;
1838
+ constructor(options: SpotUserWSOptions);
1839
+ connect(): void;
1840
+ close(): void;
1841
+ reconnect(): void;
1842
+ resetReconnectAttempts(): void;
1843
+ private handleMessage;
1844
+ private scheduleReconnect;
1845
+ }
1846
+
1847
+ interface FuturesUserWSOptions {
1848
+ baseUserUrl: string;
1849
+ getListenKey: () => string | null;
1850
+ reconnectDelayMs?: number;
1851
+ maxReconnectDelayMs?: number;
1852
+ }
1853
+ declare class FuturesUserWS extends EventEmitter {
1854
+ private readonly options;
1855
+ private ws;
1856
+ private reconnectAttempt;
1857
+ private closedByUser;
1858
+ constructor(options: FuturesUserWSOptions);
1859
+ connect(): void;
1860
+ close(): void;
1861
+ reconnect(): void;
1862
+ resetReconnectAttempts(): void;
1863
+ private handleMessage;
1864
+ private scheduleReconnect;
1865
+ }
1866
+
1867
+ interface WsApiOptions {
1868
+ baseUrl: string;
1869
+ apiKey?: string;
1870
+ apiSecret?: string;
1871
+ recvWindow?: number;
1872
+ timeoutMs?: number;
1873
+ }
1874
+ interface WsApiRequestParams {
1875
+ id?: string;
1876
+ [key: string]: unknown;
1877
+ }
1878
+ declare class WsApi {
1879
+ private readonly options;
1880
+ constructor(options: WsApiOptions);
1881
+ request(method: string, params?: WsApiRequestParams, options?: {
1882
+ signed?: boolean;
1883
+ }): Promise<WsApiResponse>;
1884
+ placeOrder(params: Record<string, unknown>): Promise<WsApiResponse>;
1885
+ cancelOrder(params: Record<string, unknown>): Promise<WsApiResponse>;
1886
+ modifyOrder(params: Record<string, unknown>): Promise<WsApiResponse>;
1887
+ placeAlgoOrder(params: Record<string, unknown>): Promise<WsApiResponse>;
1888
+ cancelAlgoOrder(params: Record<string, unknown>): Promise<WsApiResponse>;
1889
+ orderStatus(params: Record<string, unknown>): Promise<WsApiResponse>;
1890
+ placeOrderList(params: Record<string, unknown>): Promise<WsApiResponse>;
1891
+ cancelOrderList(params: Record<string, unknown>): Promise<WsApiResponse>;
1892
+ orderListStatus(params: Record<string, unknown>): Promise<WsApiResponse>;
1893
+ accountStatus(): Promise<WsApiResponse>;
1894
+ accountPosition(params?: Record<string, unknown>): Promise<WsApiResponse>;
1895
+ userDataStreamStart(): Promise<WsApiResponse>;
1896
+ userDataStreamPing(listenKey: string): Promise<WsApiResponse>;
1897
+ userDataStreamStop(listenKey: string): Promise<WsApiResponse>;
1898
+ time(): Promise<WsApiResponse>;
1899
+ exchangeInfo(params?: Record<string, unknown>): Promise<WsApiResponse>;
1900
+ klines(params: Record<string, unknown>): Promise<WsApiResponse>;
1901
+ aggTrades(params: Record<string, unknown>): Promise<WsApiResponse>;
1902
+ trades(params: Record<string, unknown>): Promise<WsApiResponse>;
1903
+ depth(params: Record<string, unknown>): Promise<WsApiResponse>;
1904
+ avgPrice(params: Record<string, unknown>): Promise<WsApiResponse>;
1905
+ tickerPrice(params?: Record<string, unknown>): Promise<WsApiResponse>;
1906
+ tickerBookTicker(params?: Record<string, unknown>): Promise<WsApiResponse>;
1907
+ ticker24hr(params?: Record<string, unknown>): Promise<WsApiResponse>;
1908
+ }
1909
+
1910
+ interface BinanceClientOptions {
1911
+ apiKey?: string;
1912
+ apiSecret?: string;
1913
+ testnet?: boolean;
1914
+ demo?: boolean;
1915
+ recvWindow?: number;
1916
+ apiBase?: string;
1917
+ wsBase?: string;
1918
+ wsUserBase?: string;
1919
+ wsApiBase?: string;
1920
+ timeoutMs?: number;
1921
+ maxRetries?: number;
1922
+ rateLimitTokensPerSecond?: number;
1923
+ rateLimitMaxTokens?: number;
1924
+ retryBaseDelayMs?: number;
1925
+ retryMaxDelayMs?: number;
1926
+ }
1927
+ declare class BinanceClient {
1928
+ readonly spot: {
1929
+ market: SpotMarket;
1930
+ account: SpotAccount;
1931
+ trading: SpotTrading;
1932
+ userStream: SpotUserDataStream;
1933
+ ws: SpotMarketWS;
1934
+ wsUser: SpotUserWS;
1935
+ };
1936
+ readonly futures: {
1937
+ market: FuturesMarket;
1938
+ data: FuturesData;
1939
+ account: FuturesAccount;
1940
+ trading: FuturesTrading;
1941
+ ops: FuturesOps;
1942
+ userStream: UserDataStream;
1943
+ ws: FuturesMarketWS;
1944
+ wsUser: FuturesUserWS;
1945
+ wsApi: WsApi;
1946
+ };
1947
+ private readonly authHttp;
1948
+ private listenKeyValue;
1949
+ private keepAliveInterval;
1950
+ private spotListenKeyValue;
1951
+ private spotKeepAliveInterval;
1952
+ static nowSeconds(): number;
1953
+ static buildPair(base: string, target: string): string;
1954
+ static parsePair(pair: string): {
1955
+ base: string;
1956
+ target: string;
1957
+ } | null;
1958
+ static calculateLiquidationPrice(entryPrice: number, leverage: number, side: 'buy' | 'sell', mm?: number): number;
1959
+ constructor(options?: BinanceClientOptions);
1960
+ startUserStream(): Promise<string>;
1961
+ closeUserStream(): void;
1962
+ startSpotUserStream(): Promise<string>;
1963
+ closeSpotUserStream(): void;
1964
+ closeAllWebSockets(): void;
1965
+ reconnectWebSocket(target: 'ws' | 'wsUser' | 'spot' | 'spotUser'): void;
1966
+ resetReconnectAttempts(): void;
1967
+ }
1968
+
1969
+ interface ToolContext {
1970
+ env: 'live' | 'testnet' | 'demo';
1971
+ isSigned: boolean;
1972
+ }
1973
+ interface ToolDefinition<TInput extends z.ZodTypeAny = z.ZodTypeAny> {
1974
+ name: string;
1975
+ description: string;
1976
+ inputSchema: TInput;
1977
+ handler: (args: any, ctx: ToolContext) => Promise<unknown>;
1978
+ }
1979
+ declare function toJsonSchema(inputSchema: z.ZodTypeAny): Record<string, unknown>;
1980
+ declare function toOpenAITool(tool: ToolDefinition): Record<string, unknown>;
1981
+ declare function toAnthropicTool(tool: ToolDefinition): Record<string, unknown>;
1982
+ declare function toMCPTool(tool: ToolDefinition): {
1983
+ name: string;
1984
+ description: string;
1985
+ inputSchema: Record<string, unknown>;
1986
+ };
1987
+ declare function toToolList<TInput extends z.ZodTypeAny>(tools: ToolDefinition<TInput>[], format: 'openai' | 'anthropic' | 'mcp'): Record<string, unknown>[];
1988
+ declare function textResult(data: unknown): string;
1989
+
1990
+ interface PaperState {
1991
+ balance: number;
1992
+ positions: PaperPosition[];
1993
+ history: PaperEvent[];
1994
+ }
1995
+ interface PaperPosition {
1996
+ id: string;
1997
+ symbol: string;
1998
+ side: 'LONG' | 'SHORT';
1999
+ quantity: number;
2000
+ entryPrice: number;
2001
+ openedAt: string;
2002
+ }
2003
+ interface PaperEvent extends PaperPosition {
2004
+ type: 'open' | 'close';
2005
+ exitPrice?: number;
2006
+ realizedPnl?: number;
2007
+ closedAt?: string;
2008
+ }
2009
+ interface PaperContext {
2010
+ state: PaperState;
2011
+ client: BinanceClient;
2012
+ }
2013
+ declare function createPaperContext(client: BinanceClient, initialState?: Partial<PaperState>): PaperContext;
2014
+ declare function paperTools(ctx: PaperContext): ToolDefinition[];
2015
+
2016
+ declare function marketDataTools(client: BinanceClient): ToolDefinition[];
2017
+
2018
+ declare function accountTools(client: BinanceClient): ToolDefinition[];
2019
+
2020
+ declare function tradingTools(client: BinanceClient): ToolDefinition[];
2021
+
2022
+ declare function spotTools(client: BinanceClient): ToolDefinition[];
2023
+
2024
+ /**
2025
+ * Derived tools: each one fans out over several REST endpoints and returns a
2026
+ * single answer. They exist so the model does not have to chain primitives and
2027
+ * do float arithmetic on tick/step sizes itself.
2028
+ */
2029
+ declare function derivedTools(client: BinanceClient): ToolDefinition[];
2030
+
2031
+ declare function getBufferedWsEvents(client: BinanceClient, limit?: number): unknown[];
2032
+ declare function clearBufferedWsEvents(client: BinanceClient): void;
2033
+ declare function wsTools(client: BinanceClient): ToolDefinition[];
2034
+
2035
+ interface FuturesToolkit {
2036
+ client: BinanceClient;
2037
+ tools: ToolDefinition[];
2038
+ market: ToolDefinition[];
2039
+ account: ToolDefinition[];
2040
+ trading: ToolDefinition[];
2041
+ spot: ToolDefinition[];
2042
+ ws: ToolDefinition[];
2043
+ /** Composite tools that fan out over several endpoints. */
2044
+ derived: ToolDefinition[];
2045
+ paper: ToolDefinition[];
2046
+ paperContext: PaperContext;
2047
+ }
2048
+ declare function createFuturesToolkit(client: BinanceClient): FuturesToolkit;
2049
+ declare function toolkitToFormats(toolkit: FuturesToolkit): {
2050
+ openai: Record<string, unknown>[];
2051
+ anthropic: Record<string, unknown>[];
2052
+ mcp: Record<string, unknown>[];
2053
+ };
2054
+
2055
+ export { type FuturesDataEndpoints as $, type Account as A, BinanceClient as B, type BookTicker as C, BookTickerSchema as D, type BracketOrderParams as E, FuturesMarket as F, type ClosePositionParams as G, type CommissionRate as H, CommissionRateSchema as I, type ContractType as J, type CountdownCancelAll as K, CountdownCancelAllSchema as L, type CreateOrderParams as M, CreateOrderParamsSchema as N, type DepthSnapshot as O, DepthSnapshotSchema as P, type ExchangeInfo as Q, ExchangeInfoSchema as R, type ExchangeSymbol as S, ExchangeSymbolSchema as T, type FeeBurnStatus as U, FeeBurnStatusSchema as V, type FundingRate as W, FundingRateHistorySchema as X, FundingRateSchema as Y, FuturesAccount as Z, FuturesData as _, type AccountAsset as a, RateLimitOrderResponseSchema as a$, FuturesMarketWS as a0, FuturesOps as a1, type FuturesToolkit as a2, FuturesTrading as a3, FuturesUserWS as a4, type FuturesUserWSOptions as a5, HttpClient as a6, type HttpClientOptions as a7, type HttpMethod as a8, type Income as a9, NewOrderAckSchema as aA, type OpenInterest as aB, type OpenInterestHistEntry as aC, OpenInterestHistEntrySchema as aD, OpenInterestHistSchema as aE, OpenInterestSchema as aF, type Order as aG, type OrderModifyHistoryEntry as aH, OrderModifyHistoryEntrySchema as aI, OrderModifyHistorySchema as aJ, OrderResponseSchema as aK, OrderSchema as aL, OrdersResponseSchema as aM, type PositionMarginChange as aN, PositionMarginChangeSchema as aO, type PositionMarginHistoryEntry as aP, PositionMarginHistoryEntrySchema as aQ, PositionMarginHistorySchema as aR, type PositionMode as aS, PositionModeSchema as aT, type PositionRisk as aU, PositionRiskResponseSchema as aV, PositionRiskSchema as aW, type PositionSizing as aX, type PremiumIndex as aY, PremiumIndexSchema as aZ, type RateLimitOrder as a_, IncomeHistoryResponseSchema as aa, IncomeSchema as ab, type Kline as ac, type KlineInterval as ad, KlineIntervalSchema as ae, KlineSchema as af, KlinesResponseSchema as ag, type LeverageBracket as ah, LeverageBracketResponseSchema as ai, LeverageBracketSchema as aj, type LeverageChange as ak, LeverageChangeSchema as al, type ListenKey as am, ListenKeySchema as an, type LongShortRatioEntry as ao, LongShortRatioEntrySchema as ap, LongShortRatioSchema as aq, type MarginTypeChange as ar, MarginTypeChangeSchema as as, type MarkPriceSpeed as at, MarketDataBase as au, type ModifyOrderParams as av, ModifyOrderParamsSchema as aw, type MultiAssetsMargin as ax, MultiAssetsMarginSchema as ay, type NewOrderAck as az, AccountAssetSchema as b, createPaperContext as b$, RateLimitOrderSchema as b0, type SizePositionParams as b1, SpotAccount as b2, type SpotAccountInfo as b3, SpotAccountSchema as b4, type SpotBalance as b5, SpotBalanceSchema as b6, type SpotBalanceUpdate as b7, SpotBalanceUpdateSchema as b8, type SpotExecutionReport as b9, TakerLongShortRatioSchema as bA, type Ticker24hr as bB, Ticker24hrSchema as bC, type TickerPrice as bD, TickerPriceSchema as bE, type ToolContext as bF, type ToolDefinition as bG, type Trade as bH, TradeSchema as bI, TradesResponseSchema as bJ, type UserDataAccountUpdate as bK, UserDataAccountUpdateSchema as bL, type UserDataEvent as bM, type UserDataMarginCall as bN, UserDataMarginCallSchema as bO, type UserDataOrderTradeUpdate as bP, UserDataOrderTradeUpdateSchema as bQ, UserDataStream as bR, type UserTrade as bS, UserTradeSchema as bT, UserTradesResponseSchema as bU, WsApi as bV, type WsApiOptions as bW, type WsApiResponse as bX, WsApiResponseSchema as bY, accountTools as bZ, createFuturesToolkit as b_, SpotExecutionReportSchema as ba, type SpotListStatus as bb, SpotListStatusSchema as bc, SpotMarket as bd, SpotMarketWS as be, type SpotOCOOrderAck as bf, SpotOCOOrderAckResponseSchema as bg, SpotOCOOrderAckSchema as bh, SpotOCOOrdersResponseSchema as bi, type SpotOrder as bj, SpotOrderResponseSchema as bk, SpotOrderSchema as bl, SpotOrdersResponseSchema as bm, type SpotOutboundAccountPosition as bn, SpotOutboundAccountPositionSchema as bo, type SpotTrade as bp, SpotTradeSchema as bq, SpotTradesResponseSchema as br, SpotTrading as bs, type SpotUserDataEvent as bt, SpotUserDataStream as bu, SpotUserWS as bv, type SpotUserWSOptions as bw, type SymbolRules as bx, type TakerLongShortRatioEntry as by, TakerLongShortRatioEntrySchema as bz, type AccountPosition as c, derivedTools as c0, floorToStep as c1, formatToDecimals as c2, getBufferedWsEvents as c3, marketDataTools as c4, paperTools as c5, parseSpotUserDataEvent as c6, parseUserDataEvent as c7, roundToStep as c8, spotTools as c9, stepDecimals as ca, symbolRulesFrom as cb, textResult as cc, toAnthropicTool as cd, toJsonSchema as ce, toMCPTool as cf, toOpenAITool as cg, toToolList as ch, toolkitToFormats as ci, tradingTools as cj, wsTools as ck, type PaperContext as cl, type PaperEvent as cm, type PaperPosition as cn, type PaperState as co, clearBufferedWsEvents as cp, AccountPositionSchema as d, AccountSchema as e, type AggTrade as f, AggTradeSchema as g, AggTradesResponseSchema as h, type AlgoOrder as i, AlgoOrderResponseSchema as j, AlgoOrderSchema as k, AlgoOrdersResponseSchema as l, type ApiTradingStatus as m, ApiTradingStatusSchema as n, type AuthMode as o, type AvgPrice as p, AvgPriceSchema as q, type Balance as r, BalanceSchema as s, BalancesResponseSchema as t, BaseWS as u, type BaseWSOptions as v, type BatchOrdersItem as w, BatchOrdersItemSchema as x, BatchOrdersResponseSchema as y, type BinanceClientOptions as z };