@pear-protocol/types 1.3.0 → 1.4.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,756 @@
1
+ import { z } from 'zod';
2
+ export declare const LadderStatus: z.ZodEnum<{
3
+ CANCELLED: "CANCELLED";
4
+ ACTIVE: "ACTIVE";
5
+ COMPLETED: "COMPLETED";
6
+ }>;
7
+ export type LadderStatus = z.infer<typeof LadderStatus>;
8
+ export declare const Ladder: z.ZodObject<{
9
+ id: z.ZodUUID;
10
+ connector: z.ZodEnum<{
11
+ hyperliquid: "hyperliquid";
12
+ binance: "binance";
13
+ bybit: "bybit";
14
+ okx: "okx";
15
+ lighter: "lighter";
16
+ }>;
17
+ positionKey: z.ZodString;
18
+ config: z.ZodObject<{
19
+ thresholdStart: z.ZodNumber;
20
+ thresholdEnd: z.ZodNumber;
21
+ levels: z.ZodInt;
22
+ weighting: z.ZodDefault<z.ZodLiteral<"EQUAL">>;
23
+ }, z.core.$strip>;
24
+ status: z.ZodEnum<{
25
+ CANCELLED: "CANCELLED";
26
+ ACTIVE: "ACTIVE";
27
+ COMPLETED: "COMPLETED";
28
+ }>;
29
+ triggers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
30
+ id: z.ZodUUID;
31
+ tradeAccountId: z.ZodUUID;
32
+ connector: z.ZodEnum<{
33
+ hyperliquid: "hyperliquid";
34
+ binance: "binance";
35
+ bybit: "bybit";
36
+ okx: "okx";
37
+ lighter: "lighter";
38
+ }>;
39
+ status: z.ZodEnum<{
40
+ CANCELLED: "CANCELLED";
41
+ ACTIVE: "ACTIVE";
42
+ TRIGGERED: "TRIGGERED";
43
+ }>;
44
+ ladderId: z.ZodOptional<z.ZodUUID>;
45
+ ladderIndex: z.ZodOptional<z.ZodNumber>;
46
+ triggeredAt: z.ZodOptional<z.ZodString>;
47
+ cancelledAt: z.ZodOptional<z.ZodString>;
48
+ cancelledReason: z.ZodOptional<z.ZodEnum<{
49
+ USER: "USER";
50
+ POSITION_CLOSED: "POSITION_CLOSED";
51
+ SYSTEM: "SYSTEM";
52
+ POSITION_NETTED: "POSITION_NETTED";
53
+ POSITION_REVERSED: "POSITION_REVERSED";
54
+ }>>;
55
+ fills: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
+ id: z.ZodUUID;
57
+ cloid: z.ZodOptional<z.ZodString>;
58
+ exchangeFillId: z.ZodOptional<z.ZodString>;
59
+ status: z.ZodEnum<{
60
+ PROVISIONAL: "PROVISIONAL";
61
+ CONFIRMED: "CONFIRMED";
62
+ RECONCILED: "RECONCILED";
63
+ }>;
64
+ tradeAccountId: z.ZodUUID;
65
+ symbol: z.ZodString;
66
+ positionId: z.ZodUUID;
67
+ connector: z.ZodEnum<{
68
+ hyperliquid: "hyperliquid";
69
+ binance: "binance";
70
+ bybit: "bybit";
71
+ okx: "okx";
72
+ lighter: "lighter";
73
+ }>;
74
+ side: z.ZodEnum<{
75
+ BUY: "BUY";
76
+ SELL: "SELL";
77
+ }>;
78
+ reduceOnly: z.ZodBoolean;
79
+ isExternal: z.ZodBoolean;
80
+ quantity: z.ZodString;
81
+ price: z.ZodString;
82
+ usd: z.ZodString;
83
+ tradeFee: z.ZodOptional<z.ZodString>;
84
+ pearFee: z.ZodOptional<z.ZodString>;
85
+ timestamp: z.ZodString;
86
+ original: z.ZodOptional<z.ZodObject<{
87
+ exchangeFillId: z.ZodString;
88
+ quantity: z.ZodString;
89
+ }, z.core.$strip>>;
90
+ }, z.core.$strip>>>;
91
+ bracketType: z.ZodEnum<{
92
+ STOP_LOSS: "STOP_LOSS";
93
+ TAKE_PROFIT: "TAKE_PROFIT";
94
+ NONE: "NONE";
95
+ }>;
96
+ createdAt: z.ZodString;
97
+ updatedAt: z.ZodString;
98
+ intent: z.ZodLiteral<"OPEN">;
99
+ type: z.ZodLiteral<"MARKET">;
100
+ condition: z.ZodDiscriminatedUnion<[z.ZodObject<{
101
+ type: z.ZodLiteral<"ratio">;
102
+ data: z.ZodObject<{
103
+ priceSource: z.ZodEnum<{
104
+ mid: "mid";
105
+ mark: "mark";
106
+ }>;
107
+ symbol_a: z.ZodString;
108
+ symbol_b: z.ZodString;
109
+ track: z.ZodEnum<{
110
+ PEAK: "PEAK";
111
+ TROUGH: "TROUGH";
112
+ }>;
113
+ threshold: z.ZodNumber;
114
+ }, z.core.$strip>;
115
+ }, z.core.$strip>, z.ZodObject<{
116
+ type: z.ZodLiteral<"price">;
117
+ data: z.ZodObject<{
118
+ priceSource: z.ZodEnum<{
119
+ mid: "mid";
120
+ mark: "mark";
121
+ }>;
122
+ symbol: z.ZodString;
123
+ track: z.ZodEnum<{
124
+ PEAK: "PEAK";
125
+ TROUGH: "TROUGH";
126
+ }>;
127
+ threshold: z.ZodNumber;
128
+ }, z.core.$strip>;
129
+ }, z.core.$strip>, z.ZodObject<{
130
+ type: z.ZodLiteral<"weighted_ratio">;
131
+ data: z.ZodObject<{
132
+ priceSource: z.ZodEnum<{
133
+ mid: "mid";
134
+ mark: "mark";
135
+ }>;
136
+ basket: z.ZodArray<z.ZodObject<{
137
+ symbol: z.ZodString;
138
+ side: z.ZodEnum<{
139
+ BUY: "BUY";
140
+ SELL: "SELL";
141
+ }>;
142
+ weight: z.ZodNumber;
143
+ }, z.core.$strip>>;
144
+ track: z.ZodEnum<{
145
+ PEAK: "PEAK";
146
+ TROUGH: "TROUGH";
147
+ }>;
148
+ threshold: z.ZodNumber;
149
+ }, z.core.$strip>;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ type: z.ZodLiteral<"funding_rate">;
152
+ data: z.ZodObject<{
153
+ connector: z.ZodEnum<{
154
+ hyperliquid: "hyperliquid";
155
+ binance: "binance";
156
+ bybit: "bybit";
157
+ okx: "okx";
158
+ lighter: "lighter";
159
+ }>;
160
+ symbol: z.ZodString;
161
+ track: z.ZodEnum<{
162
+ PEAK: "PEAK";
163
+ TROUGH: "TROUGH";
164
+ }>;
165
+ threshold: z.ZodNumber;
166
+ }, z.core.$strip>;
167
+ }, z.core.$strip>, z.ZodObject<{
168
+ type: z.ZodLiteral<"prediction_market">;
169
+ data: z.ZodObject<{
170
+ source: z.ZodEnum<{
171
+ kalshi: "kalshi";
172
+ polymarket: "polymarket";
173
+ }>;
174
+ marketKey: z.ZodString;
175
+ track: z.ZodEnum<{
176
+ PEAK: "PEAK";
177
+ TROUGH: "TROUGH";
178
+ }>;
179
+ threshold: z.ZodNumber;
180
+ }, z.core.$strip>;
181
+ }, z.core.$strip>, z.ZodObject<{
182
+ type: z.ZodLiteral<"btc_dominance">;
183
+ data: z.ZodObject<{
184
+ source: z.ZodLiteral<"coingecko">;
185
+ track: z.ZodEnum<{
186
+ PEAK: "PEAK";
187
+ TROUGH: "TROUGH";
188
+ }>;
189
+ threshold: z.ZodNumber;
190
+ }, z.core.$strip>;
191
+ }, z.core.$strip>], "type">;
192
+ context: z.ZodObject<{
193
+ type: z.ZodLiteral<"MARKET">;
194
+ legs: z.ZodTuple<[z.ZodObject<{
195
+ symbol: z.ZodString;
196
+ side: z.ZodEnum<{
197
+ BUY: "BUY";
198
+ SELL: "SELL";
199
+ }>;
200
+ mode: z.ZodEnum<{
201
+ QUANTITY: "QUANTITY";
202
+ USD: "USD";
203
+ }>;
204
+ amount: z.ZodString;
205
+ }, z.core.$strip>], z.ZodObject<{
206
+ symbol: z.ZodString;
207
+ side: z.ZodEnum<{
208
+ BUY: "BUY";
209
+ SELL: "SELL";
210
+ }>;
211
+ mode: z.ZodEnum<{
212
+ QUANTITY: "QUANTITY";
213
+ USD: "USD";
214
+ }>;
215
+ amount: z.ZodString;
216
+ }, z.core.$strip>>;
217
+ attachedTriggers: z.ZodArray<z.ZodObject<{
218
+ kind: z.ZodEnum<{
219
+ STATIC: "STATIC";
220
+ TRAILING: "TRAILING";
221
+ }>;
222
+ bracketType: z.ZodEnum<{
223
+ STOP_LOSS: "STOP_LOSS";
224
+ TAKE_PROFIT: "TAKE_PROFIT";
225
+ }>;
226
+ }, z.core.$strip>>;
227
+ }, z.core.$strip>;
228
+ }, z.core.$strip>, z.ZodObject<{
229
+ id: z.ZodUUID;
230
+ tradeAccountId: z.ZodUUID;
231
+ connector: z.ZodEnum<{
232
+ hyperliquid: "hyperliquid";
233
+ binance: "binance";
234
+ bybit: "bybit";
235
+ okx: "okx";
236
+ lighter: "lighter";
237
+ }>;
238
+ status: z.ZodEnum<{
239
+ CANCELLED: "CANCELLED";
240
+ ACTIVE: "ACTIVE";
241
+ TRIGGERED: "TRIGGERED";
242
+ }>;
243
+ ladderId: z.ZodOptional<z.ZodUUID>;
244
+ ladderIndex: z.ZodOptional<z.ZodNumber>;
245
+ triggeredAt: z.ZodOptional<z.ZodString>;
246
+ cancelledAt: z.ZodOptional<z.ZodString>;
247
+ cancelledReason: z.ZodOptional<z.ZodEnum<{
248
+ USER: "USER";
249
+ POSITION_CLOSED: "POSITION_CLOSED";
250
+ SYSTEM: "SYSTEM";
251
+ POSITION_NETTED: "POSITION_NETTED";
252
+ POSITION_REVERSED: "POSITION_REVERSED";
253
+ }>>;
254
+ fills: z.ZodOptional<z.ZodArray<z.ZodObject<{
255
+ id: z.ZodUUID;
256
+ cloid: z.ZodOptional<z.ZodString>;
257
+ exchangeFillId: z.ZodOptional<z.ZodString>;
258
+ status: z.ZodEnum<{
259
+ PROVISIONAL: "PROVISIONAL";
260
+ CONFIRMED: "CONFIRMED";
261
+ RECONCILED: "RECONCILED";
262
+ }>;
263
+ tradeAccountId: z.ZodUUID;
264
+ symbol: z.ZodString;
265
+ positionId: z.ZodUUID;
266
+ connector: z.ZodEnum<{
267
+ hyperliquid: "hyperliquid";
268
+ binance: "binance";
269
+ bybit: "bybit";
270
+ okx: "okx";
271
+ lighter: "lighter";
272
+ }>;
273
+ side: z.ZodEnum<{
274
+ BUY: "BUY";
275
+ SELL: "SELL";
276
+ }>;
277
+ reduceOnly: z.ZodBoolean;
278
+ isExternal: z.ZodBoolean;
279
+ quantity: z.ZodString;
280
+ price: z.ZodString;
281
+ usd: z.ZodString;
282
+ tradeFee: z.ZodOptional<z.ZodString>;
283
+ pearFee: z.ZodOptional<z.ZodString>;
284
+ timestamp: z.ZodString;
285
+ original: z.ZodOptional<z.ZodObject<{
286
+ exchangeFillId: z.ZodString;
287
+ quantity: z.ZodString;
288
+ }, z.core.$strip>>;
289
+ }, z.core.$strip>>>;
290
+ bracketType: z.ZodEnum<{
291
+ STOP_LOSS: "STOP_LOSS";
292
+ TAKE_PROFIT: "TAKE_PROFIT";
293
+ NONE: "NONE";
294
+ }>;
295
+ createdAt: z.ZodString;
296
+ updatedAt: z.ZodString;
297
+ intent: z.ZodLiteral<"ADJUST">;
298
+ type: z.ZodLiteral<"MARKET">;
299
+ condition: z.ZodDiscriminatedUnion<[z.ZodObject<{
300
+ type: z.ZodLiteral<"ratio">;
301
+ data: z.ZodObject<{
302
+ priceSource: z.ZodEnum<{
303
+ mid: "mid";
304
+ mark: "mark";
305
+ }>;
306
+ symbol_a: z.ZodString;
307
+ symbol_b: z.ZodString;
308
+ track: z.ZodEnum<{
309
+ PEAK: "PEAK";
310
+ TROUGH: "TROUGH";
311
+ }>;
312
+ threshold: z.ZodNumber;
313
+ }, z.core.$strip>;
314
+ }, z.core.$strip>, z.ZodObject<{
315
+ type: z.ZodLiteral<"price">;
316
+ data: z.ZodObject<{
317
+ priceSource: z.ZodEnum<{
318
+ mid: "mid";
319
+ mark: "mark";
320
+ }>;
321
+ symbol: z.ZodString;
322
+ track: z.ZodEnum<{
323
+ PEAK: "PEAK";
324
+ TROUGH: "TROUGH";
325
+ }>;
326
+ threshold: z.ZodNumber;
327
+ }, z.core.$strip>;
328
+ }, z.core.$strip>, z.ZodObject<{
329
+ type: z.ZodLiteral<"weighted_ratio">;
330
+ data: z.ZodObject<{
331
+ priceSource: z.ZodEnum<{
332
+ mid: "mid";
333
+ mark: "mark";
334
+ }>;
335
+ basket: z.ZodArray<z.ZodObject<{
336
+ symbol: z.ZodString;
337
+ side: z.ZodEnum<{
338
+ BUY: "BUY";
339
+ SELL: "SELL";
340
+ }>;
341
+ weight: z.ZodNumber;
342
+ }, z.core.$strip>>;
343
+ track: z.ZodEnum<{
344
+ PEAK: "PEAK";
345
+ TROUGH: "TROUGH";
346
+ }>;
347
+ threshold: z.ZodNumber;
348
+ }, z.core.$strip>;
349
+ }, z.core.$strip>, z.ZodObject<{
350
+ type: z.ZodLiteral<"notional">;
351
+ data: z.ZodObject<{
352
+ priceSource: z.ZodEnum<{
353
+ mid: "mid";
354
+ mark: "mark";
355
+ }>;
356
+ track: z.ZodEnum<{
357
+ PEAK: "PEAK";
358
+ TROUGH: "TROUGH";
359
+ }>;
360
+ threshold: z.ZodNumber;
361
+ }, z.core.$strip>;
362
+ }, z.core.$strip>, z.ZodObject<{
363
+ type: z.ZodLiteral<"upnl">;
364
+ data: z.ZodObject<{
365
+ priceSource: z.ZodEnum<{
366
+ mid: "mid";
367
+ mark: "mark";
368
+ }>;
369
+ track: z.ZodEnum<{
370
+ PEAK: "PEAK";
371
+ TROUGH: "TROUGH";
372
+ }>;
373
+ threshold: z.ZodNumber;
374
+ }, z.core.$strip>;
375
+ }, z.core.$strip>, z.ZodObject<{
376
+ type: z.ZodLiteral<"upnl_bps">;
377
+ data: z.ZodObject<{
378
+ priceSource: z.ZodEnum<{
379
+ mid: "mid";
380
+ mark: "mark";
381
+ }>;
382
+ track: z.ZodEnum<{
383
+ PEAK: "PEAK";
384
+ TROUGH: "TROUGH";
385
+ }>;
386
+ threshold: z.ZodNumber;
387
+ }, z.core.$strip>;
388
+ }, z.core.$strip>, z.ZodObject<{
389
+ type: z.ZodLiteral<"funding_rate">;
390
+ data: z.ZodObject<{
391
+ connector: z.ZodEnum<{
392
+ hyperliquid: "hyperliquid";
393
+ binance: "binance";
394
+ bybit: "bybit";
395
+ okx: "okx";
396
+ lighter: "lighter";
397
+ }>;
398
+ symbol: z.ZodString;
399
+ track: z.ZodEnum<{
400
+ PEAK: "PEAK";
401
+ TROUGH: "TROUGH";
402
+ }>;
403
+ threshold: z.ZodNumber;
404
+ }, z.core.$strip>;
405
+ }, z.core.$strip>, z.ZodObject<{
406
+ type: z.ZodLiteral<"prediction_market">;
407
+ data: z.ZodObject<{
408
+ source: z.ZodEnum<{
409
+ kalshi: "kalshi";
410
+ polymarket: "polymarket";
411
+ }>;
412
+ marketKey: z.ZodString;
413
+ track: z.ZodEnum<{
414
+ PEAK: "PEAK";
415
+ TROUGH: "TROUGH";
416
+ }>;
417
+ threshold: z.ZodNumber;
418
+ }, z.core.$strip>;
419
+ }, z.core.$strip>, z.ZodObject<{
420
+ type: z.ZodLiteral<"btc_dominance">;
421
+ data: z.ZodObject<{
422
+ source: z.ZodLiteral<"coingecko">;
423
+ track: z.ZodEnum<{
424
+ PEAK: "PEAK";
425
+ TROUGH: "TROUGH";
426
+ }>;
427
+ threshold: z.ZodNumber;
428
+ }, z.core.$strip>;
429
+ }, z.core.$strip>], "type">;
430
+ context: z.ZodObject<{
431
+ type: z.ZodLiteral<"MARKET">;
432
+ position: z.ZodObject<{
433
+ id: z.ZodUUID;
434
+ initialExposure: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodString, z.ZodTransform<`-${string}` | `+${string}`, string>>>;
435
+ }, z.core.$strip>;
436
+ legs: z.ZodTuple<[z.ZodObject<{
437
+ symbol: z.ZodString;
438
+ side: z.ZodEnum<{
439
+ BUY: "BUY";
440
+ SELL: "SELL";
441
+ }>;
442
+ mode: z.ZodEnum<{
443
+ QUANTITY: "QUANTITY";
444
+ USD: "USD";
445
+ }>;
446
+ amount: z.ZodString;
447
+ reduceOnly: z.ZodBoolean;
448
+ }, z.core.$strip>], z.ZodObject<{
449
+ symbol: z.ZodString;
450
+ side: z.ZodEnum<{
451
+ BUY: "BUY";
452
+ SELL: "SELL";
453
+ }>;
454
+ mode: z.ZodEnum<{
455
+ QUANTITY: "QUANTITY";
456
+ USD: "USD";
457
+ }>;
458
+ amount: z.ZodString;
459
+ reduceOnly: z.ZodBoolean;
460
+ }, z.core.$strip>>;
461
+ }, z.core.$strip>;
462
+ trailing: z.ZodOptional<z.ZodObject<{
463
+ mode: z.ZodEnum<{
464
+ RELATIVE_BPS: "RELATIVE_BPS";
465
+ ABSOLUTE_POINTS: "ABSOLUTE_POINTS";
466
+ }>;
467
+ deltaValue: z.ZodNumber;
468
+ activationValue: z.ZodOptional<z.ZodNumber>;
469
+ bestMetricSeen: z.ZodOptional<z.ZodNumber>;
470
+ currentStopValue: z.ZodOptional<z.ZodNumber>;
471
+ stopBreachedAt: z.ZodOptional<z.ZodNumber>;
472
+ }, z.core.$strip>>;
473
+ }, z.core.$strip>, z.ZodObject<{
474
+ id: z.ZodUUID;
475
+ tradeAccountId: z.ZodUUID;
476
+ connector: z.ZodEnum<{
477
+ hyperliquid: "hyperliquid";
478
+ binance: "binance";
479
+ bybit: "bybit";
480
+ okx: "okx";
481
+ lighter: "lighter";
482
+ }>;
483
+ status: z.ZodEnum<{
484
+ CANCELLED: "CANCELLED";
485
+ ACTIVE: "ACTIVE";
486
+ TRIGGERED: "TRIGGERED";
487
+ }>;
488
+ ladderId: z.ZodOptional<z.ZodUUID>;
489
+ ladderIndex: z.ZodOptional<z.ZodNumber>;
490
+ triggeredAt: z.ZodOptional<z.ZodString>;
491
+ cancelledAt: z.ZodOptional<z.ZodString>;
492
+ cancelledReason: z.ZodOptional<z.ZodEnum<{
493
+ USER: "USER";
494
+ POSITION_CLOSED: "POSITION_CLOSED";
495
+ SYSTEM: "SYSTEM";
496
+ POSITION_NETTED: "POSITION_NETTED";
497
+ POSITION_REVERSED: "POSITION_REVERSED";
498
+ }>>;
499
+ fills: z.ZodOptional<z.ZodArray<z.ZodObject<{
500
+ id: z.ZodUUID;
501
+ cloid: z.ZodOptional<z.ZodString>;
502
+ exchangeFillId: z.ZodOptional<z.ZodString>;
503
+ status: z.ZodEnum<{
504
+ PROVISIONAL: "PROVISIONAL";
505
+ CONFIRMED: "CONFIRMED";
506
+ RECONCILED: "RECONCILED";
507
+ }>;
508
+ tradeAccountId: z.ZodUUID;
509
+ symbol: z.ZodString;
510
+ positionId: z.ZodUUID;
511
+ connector: z.ZodEnum<{
512
+ hyperliquid: "hyperliquid";
513
+ binance: "binance";
514
+ bybit: "bybit";
515
+ okx: "okx";
516
+ lighter: "lighter";
517
+ }>;
518
+ side: z.ZodEnum<{
519
+ BUY: "BUY";
520
+ SELL: "SELL";
521
+ }>;
522
+ reduceOnly: z.ZodBoolean;
523
+ isExternal: z.ZodBoolean;
524
+ quantity: z.ZodString;
525
+ price: z.ZodString;
526
+ usd: z.ZodString;
527
+ tradeFee: z.ZodOptional<z.ZodString>;
528
+ pearFee: z.ZodOptional<z.ZodString>;
529
+ timestamp: z.ZodString;
530
+ original: z.ZodOptional<z.ZodObject<{
531
+ exchangeFillId: z.ZodString;
532
+ quantity: z.ZodString;
533
+ }, z.core.$strip>>;
534
+ }, z.core.$strip>>>;
535
+ bracketType: z.ZodEnum<{
536
+ STOP_LOSS: "STOP_LOSS";
537
+ TAKE_PROFIT: "TAKE_PROFIT";
538
+ NONE: "NONE";
539
+ }>;
540
+ createdAt: z.ZodString;
541
+ updatedAt: z.ZodString;
542
+ intent: z.ZodLiteral<"CLOSE">;
543
+ type: z.ZodLiteral<"MARKET">;
544
+ condition: z.ZodDiscriminatedUnion<[z.ZodObject<{
545
+ type: z.ZodLiteral<"ratio">;
546
+ data: z.ZodObject<{
547
+ priceSource: z.ZodEnum<{
548
+ mid: "mid";
549
+ mark: "mark";
550
+ }>;
551
+ symbol_a: z.ZodString;
552
+ symbol_b: z.ZodString;
553
+ track: z.ZodEnum<{
554
+ PEAK: "PEAK";
555
+ TROUGH: "TROUGH";
556
+ }>;
557
+ threshold: z.ZodNumber;
558
+ }, z.core.$strip>;
559
+ }, z.core.$strip>, z.ZodObject<{
560
+ type: z.ZodLiteral<"price">;
561
+ data: z.ZodObject<{
562
+ priceSource: z.ZodEnum<{
563
+ mid: "mid";
564
+ mark: "mark";
565
+ }>;
566
+ symbol: z.ZodString;
567
+ track: z.ZodEnum<{
568
+ PEAK: "PEAK";
569
+ TROUGH: "TROUGH";
570
+ }>;
571
+ threshold: z.ZodNumber;
572
+ }, z.core.$strip>;
573
+ }, z.core.$strip>, z.ZodObject<{
574
+ type: z.ZodLiteral<"weighted_ratio">;
575
+ data: z.ZodObject<{
576
+ priceSource: z.ZodEnum<{
577
+ mid: "mid";
578
+ mark: "mark";
579
+ }>;
580
+ basket: z.ZodArray<z.ZodObject<{
581
+ symbol: z.ZodString;
582
+ side: z.ZodEnum<{
583
+ BUY: "BUY";
584
+ SELL: "SELL";
585
+ }>;
586
+ weight: z.ZodNumber;
587
+ }, z.core.$strip>>;
588
+ track: z.ZodEnum<{
589
+ PEAK: "PEAK";
590
+ TROUGH: "TROUGH";
591
+ }>;
592
+ threshold: z.ZodNumber;
593
+ }, z.core.$strip>;
594
+ }, z.core.$strip>, z.ZodObject<{
595
+ type: z.ZodLiteral<"notional">;
596
+ data: z.ZodObject<{
597
+ priceSource: z.ZodEnum<{
598
+ mid: "mid";
599
+ mark: "mark";
600
+ }>;
601
+ track: z.ZodEnum<{
602
+ PEAK: "PEAK";
603
+ TROUGH: "TROUGH";
604
+ }>;
605
+ threshold: z.ZodNumber;
606
+ }, z.core.$strip>;
607
+ }, z.core.$strip>, z.ZodObject<{
608
+ type: z.ZodLiteral<"upnl">;
609
+ data: z.ZodObject<{
610
+ priceSource: z.ZodEnum<{
611
+ mid: "mid";
612
+ mark: "mark";
613
+ }>;
614
+ track: z.ZodEnum<{
615
+ PEAK: "PEAK";
616
+ TROUGH: "TROUGH";
617
+ }>;
618
+ threshold: z.ZodNumber;
619
+ }, z.core.$strip>;
620
+ }, z.core.$strip>, z.ZodObject<{
621
+ type: z.ZodLiteral<"upnl_bps">;
622
+ data: z.ZodObject<{
623
+ priceSource: z.ZodEnum<{
624
+ mid: "mid";
625
+ mark: "mark";
626
+ }>;
627
+ track: z.ZodEnum<{
628
+ PEAK: "PEAK";
629
+ TROUGH: "TROUGH";
630
+ }>;
631
+ threshold: z.ZodNumber;
632
+ }, z.core.$strip>;
633
+ }, z.core.$strip>, z.ZodObject<{
634
+ type: z.ZodLiteral<"ratio_trailing">;
635
+ data: z.ZodObject<{
636
+ priceSource: z.ZodEnum<{
637
+ mid: "mid";
638
+ mark: "mark";
639
+ }>;
640
+ symbol_a: z.ZodString;
641
+ symbol_b: z.ZodString;
642
+ }, z.core.$strip>;
643
+ }, z.core.$strip>, z.ZodObject<{
644
+ type: z.ZodLiteral<"price_trailing">;
645
+ data: z.ZodObject<{
646
+ priceSource: z.ZodEnum<{
647
+ mid: "mid";
648
+ mark: "mark";
649
+ }>;
650
+ symbol: z.ZodString;
651
+ }, z.core.$strip>;
652
+ }, z.core.$strip>, z.ZodObject<{
653
+ type: z.ZodLiteral<"weighted_ratio_trailing">;
654
+ data: z.ZodObject<{
655
+ priceSource: z.ZodEnum<{
656
+ mid: "mid";
657
+ mark: "mark";
658
+ }>;
659
+ basket: z.ZodArray<z.ZodObject<{
660
+ symbol: z.ZodString;
661
+ side: z.ZodEnum<{
662
+ BUY: "BUY";
663
+ SELL: "SELL";
664
+ }>;
665
+ weight: z.ZodNumber;
666
+ }, z.core.$strip>>;
667
+ }, z.core.$strip>;
668
+ }, z.core.$strip>, z.ZodObject<{
669
+ type: z.ZodLiteral<"notional_trailing">;
670
+ data: z.ZodObject<{
671
+ priceSource: z.ZodEnum<{
672
+ mid: "mid";
673
+ mark: "mark";
674
+ }>;
675
+ }, z.core.$strip>;
676
+ }, z.core.$strip>, z.ZodObject<{
677
+ type: z.ZodLiteral<"upnl_trailing">;
678
+ data: z.ZodObject<{
679
+ priceSource: z.ZodEnum<{
680
+ mid: "mid";
681
+ mark: "mark";
682
+ }>;
683
+ }, z.core.$strip>;
684
+ }, z.core.$strip>, z.ZodObject<{
685
+ type: z.ZodLiteral<"upnl_bps_trailing">;
686
+ data: z.ZodObject<{
687
+ priceSource: z.ZodEnum<{
688
+ mid: "mid";
689
+ mark: "mark";
690
+ }>;
691
+ }, z.core.$strip>;
692
+ }, z.core.$strip>, z.ZodObject<{
693
+ type: z.ZodLiteral<"funding_rate">;
694
+ data: z.ZodObject<{
695
+ connector: z.ZodEnum<{
696
+ hyperliquid: "hyperliquid";
697
+ binance: "binance";
698
+ bybit: "bybit";
699
+ okx: "okx";
700
+ lighter: "lighter";
701
+ }>;
702
+ symbol: z.ZodString;
703
+ track: z.ZodEnum<{
704
+ PEAK: "PEAK";
705
+ TROUGH: "TROUGH";
706
+ }>;
707
+ threshold: z.ZodNumber;
708
+ }, z.core.$strip>;
709
+ }, z.core.$strip>, z.ZodObject<{
710
+ type: z.ZodLiteral<"prediction_market">;
711
+ data: z.ZodObject<{
712
+ source: z.ZodEnum<{
713
+ kalshi: "kalshi";
714
+ polymarket: "polymarket";
715
+ }>;
716
+ marketKey: z.ZodString;
717
+ track: z.ZodEnum<{
718
+ PEAK: "PEAK";
719
+ TROUGH: "TROUGH";
720
+ }>;
721
+ threshold: z.ZodNumber;
722
+ }, z.core.$strip>;
723
+ }, z.core.$strip>, z.ZodObject<{
724
+ type: z.ZodLiteral<"btc_dominance">;
725
+ data: z.ZodObject<{
726
+ source: z.ZodLiteral<"coingecko">;
727
+ track: z.ZodEnum<{
728
+ PEAK: "PEAK";
729
+ TROUGH: "TROUGH";
730
+ }>;
731
+ threshold: z.ZodNumber;
732
+ }, z.core.$strip>;
733
+ }, z.core.$strip>], "type">;
734
+ context: z.ZodObject<{
735
+ type: z.ZodLiteral<"MARKET">;
736
+ position: z.ZodObject<{
737
+ id: z.ZodUUID;
738
+ initialExposure: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodString, z.ZodTransform<`-${string}` | `+${string}`, string>>>;
739
+ }, z.core.$strip>;
740
+ }, z.core.$strip>;
741
+ trailing: z.ZodOptional<z.ZodObject<{
742
+ mode: z.ZodEnum<{
743
+ RELATIVE_BPS: "RELATIVE_BPS";
744
+ ABSOLUTE_POINTS: "ABSOLUTE_POINTS";
745
+ }>;
746
+ deltaValue: z.ZodNumber;
747
+ activationValue: z.ZodOptional<z.ZodNumber>;
748
+ bestMetricSeen: z.ZodOptional<z.ZodNumber>;
749
+ currentStopValue: z.ZodOptional<z.ZodNumber>;
750
+ stopBreachedAt: z.ZodOptional<z.ZodNumber>;
751
+ }, z.core.$strip>>;
752
+ }, z.core.$strip>], "intent">], "type">>;
753
+ createdAt: z.ZodString;
754
+ updatedAt: z.ZodString;
755
+ }, z.core.$strip>;
756
+ export type Ladder = z.output<typeof Ladder>;