/** * Trading API Validation Schemas * * Zod schemas for validating trading API inputs before making requests. * Provides clear, actionable error messages for invalid parameters. */ import { z } from "zod"; /** * Order side validation */ export declare const OrderSideSchema: z.ZodEnum<{ BUY: "BUY"; SELL: "SELL"; }>; /** * Trading mode validation */ export declare const TradingModeSchema: z.ZodEnum<{ SPOT: "SPOT"; MARGIN: "MARGIN"; }>; /** * Position side validation */ export declare const PositionSideSchema: z.ZodEnum<{ LONG: "LONG"; SHORT: "SHORT"; NONE: "NONE"; }>; /** * Time in force validation */ export declare const TimeInForceSchema: z.ZodEnum<{ GTC: "GTC"; IOC: "IOC"; FOK: "FOK"; }>; export declare const ConditionalTimeInForceSchema: z.ZodEnum<{ GTC: "GTC"; IOC: "IOC"; }>; /** * Positive decimal string validation (for quantities and prices) */ export declare const PositiveDecimalStringSchema: z.ZodString; /** * UUID validation */ export declare const UUIDSchema: z.ZodUUID; /** * ISO 8601 date string validation */ export declare const ISO8601DateSchema: z.ZodISODateTime; /** * Slippage tolerance validation (0 to 1, where 0.01 = 1%) */ export declare const SlippageToleranceSchema: z.ZodOptional; /** * Place Limit Order validation schema */ export declare const PlaceLimitOrderSchema: z.ZodObject<{ tradingPairId: z.ZodUUID; side: z.ZodEnum<{ BUY: "BUY"; SELL: "SELL"; }>; quantity: z.ZodString; price: z.ZodString; options: z.ZodOptional>; useMasterBalance: z.ZodOptional; expirationDate: z.ZodOptional; timeInForce: z.ZodOptional>; marginAccountId: z.ZodOptional; positionSide: z.ZodOptional>; leverage: z.ZodOptional; reduceOnly: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Place Market Order validation schema */ export declare const PlaceMarketOrderSchema: z.ZodObject<{ tradingPairId: z.ZodUUID; side: z.ZodEnum<{ BUY: "BUY"; SELL: "SELL"; }>; quantity: z.ZodString; options: z.ZodOptional>; slippageTolerance: z.ZodOptional; marginAccountId: z.ZodOptional; positionSide: z.ZodOptional>; leverage: z.ZodOptional; reduceOnly: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Cancel Order validation schema */ export declare const CancelOrderSchema: z.ZodObject<{ orderId: z.ZodUUID; }, z.core.$strip>; /** * Replace Order validation schema * * Validates parameters for replacing an existing order. * Matches the replaceOrder method signature which accepts: * - orderId: string (UUID) * - newOrder: { price?: string, quantity?: string, useMasterBalance?: boolean } */ export declare const ReplaceOrderSchema: z.ZodObject<{ orderId: z.ZodUUID; newOrder: z.ZodObject<{ price: z.ZodOptional; quantity: z.ZodOptional; useMasterBalance: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>; /** * Get Paginated Orders validation schema * * Validates parameters for fetching paginated orders. * Matches the getPaginatedOrders method signature which accepts: * - status: OrderStatus (optional filter) * - trading_pair_id: trading pair UUID (optional filter) * - page: number (default: 1) * - page_size: number (default: 10, max: 100) */ export declare const GetPaginatedOrdersSchema: z.ZodObject<{ status: z.ZodOptional>; trading_pair_id: z.ZodOptional; trading_mode: z.ZodOptional>; margin_account_id: z.ZodOptional; page: z.ZodOptional; page_size: z.ZodOptional; }, z.core.$strip>; /** * Order type validation */ export declare const OrderTypeSchema: z.ZodEnum<{ LIMIT: "LIMIT"; MARKET: "MARKET"; }>; export declare const ConditionalOrderConditionTypeSchema: z.ZodEnum<{ STOP_LOSS: "STOP_LOSS"; TAKE_PROFIT: "TAKE_PROFIT"; }>; export declare const ConditionalOrderTriggerSourceSchema: z.ZodEnum<{ MARK_PRICE: "MARK_PRICE"; }>; export declare const ConditionalOrderStateSchema: z.ZodEnum<{ CANCELLED: "CANCELLED"; EXPIRED: "EXPIRED"; ACTIVE: "ACTIVE"; TRIGGERING: "TRIGGERING"; TRIGGERED: "TRIGGERED"; FAILED: "FAILED"; }>; export declare const ClosePositionSideSchema: z.ZodEnum<{ LONG: "LONG"; SHORT: "SHORT"; }>; export declare const SlippageToleranceBpsSchema: z.ZodNumber; export declare const CreateConditionalOrderSchema: z.ZodObject<{ tradingPairId: z.ZodUUID; marginAccountId: z.ZodUUID; conditionType: z.ZodEnum<{ STOP_LOSS: "STOP_LOSS"; TAKE_PROFIT: "TAKE_PROFIT"; }>; triggerPrice: z.ZodString; triggerSource: z.ZodOptional>; side: z.ZodEnum<{ BUY: "BUY"; SELL: "SELL"; }>; positionSide: z.ZodEnum<{ LONG: "LONG"; SHORT: "SHORT"; }>; orderType: z.ZodEnum<{ LIMIT: "LIMIT"; MARKET: "MARKET"; }>; limitPrice: z.ZodOptional; quantity: z.ZodOptional; reduceOnly: z.ZodOptional; timeInForce: z.ZodOptional>; slippageToleranceBps: z.ZodOptional; expiresAt: z.ZodOptional; }, z.core.$strip>; export declare const CancelConditionalOrderSchema: z.ZodObject<{ conditionalOrderId: z.ZodUUID; }, z.core.$strip>; export declare const ListConditionalOrdersSchema: z.ZodObject<{ margin_account_id: z.ZodOptional; trading_pair_id: z.ZodOptional; state: z.ZodOptional>; page: z.ZodOptional; page_size: z.ZodOptional; }, z.core.$strip>; /** * Single batch create order item validation schema * * Validates each order in a batch create request. * - LIMIT orders require a price * - MARKET orders must not have a price */ export declare const BatchCreateOrderItemSchema: z.ZodObject<{ tradingPairId: z.ZodUUID; orderType: z.ZodEnum<{ LIMIT: "LIMIT"; MARKET: "MARKET"; }>; side: z.ZodEnum<{ BUY: "BUY"; SELL: "SELL"; }>; price: z.ZodOptional; quantity: z.ZodString; tradingMode: z.ZodOptional>; slippageTolerance: z.ZodOptional; useMasterBalance: z.ZodOptional; expirationDate: z.ZodOptional; timeInForce: z.ZodOptional>; marginAccountId: z.ZodOptional; positionSide: z.ZodOptional>; leverage: z.ZodOptional; reduceOnly: z.ZodOptional; }, z.core.$strip>; /** * Batch Create Orders validation schema * * Validates the full array of orders for a batch create request. */ export declare const BatchCreateOrdersSchema: z.ZodObject<{ orders: z.ZodArray; side: z.ZodEnum<{ BUY: "BUY"; SELL: "SELL"; }>; price: z.ZodOptional; quantity: z.ZodString; tradingMode: z.ZodOptional>; slippageTolerance: z.ZodOptional; useMasterBalance: z.ZodOptional; expirationDate: z.ZodOptional; timeInForce: z.ZodOptional>; marginAccountId: z.ZodOptional; positionSide: z.ZodOptional>; leverage: z.ZodOptional; reduceOnly: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Single batch replace order item validation schema * * Validates each order in a batch replace request. * At least one of price or quantity must be provided. */ export declare const BatchReplaceOrderItemSchema: z.ZodObject<{ orderId: z.ZodUUID; price: z.ZodOptional; quantity: z.ZodOptional; useMasterBalance: z.ZodOptional; }, z.core.$strip>; /** * Batch Replace Orders validation schema * * Validates the full array of orders for a batch replace request. */ export declare const BatchReplaceOrdersSchema: z.ZodObject<{ orders: z.ZodArray; quantity: z.ZodOptional; useMasterBalance: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>;