import type { spot } from '../../..'; import type { RefType, XORArray, XOR } from '../../utils'; export declare type NewOrderPayload = NewOrderBasePayload & XORArray<[ NewOrderLimitPayload, NewOrderMarketPayload, NewOrderStopLossPayload, NewOrderStopLossLimitPayload, NewOrderTakeProfitPayload, NewOrderTakeProfitLimitPayload, NewOrderLimitMakerPayload ]>; export interface NewOrderBasePayload { symbol: string; side: spot.OrderSide; newClientOrderId?: string; newOrderRespType?: OrderResponseType; } export interface NewOrderLimitPayload { type: RefType; timeInForce: spot.TimeInForce; quantity: number; price: number; icebergQty?: number; } export declare type NewOrderMarketPayload = { type: RefType; } & XOR<{ quantity: number; }, { quoteOrderQty: number; }>; export interface NewOrderStopLossPayload { type: RefType; quantity: number; stopPrice: number; } export interface NewOrderStopLossLimitPayload { type: RefType; timeInForce: spot.TimeInForce; quantity: number; price: number; stopPrice: number; icebergQty?: number; } export interface NewOrderTakeProfitPayload { type: RefType; quantity: number; stopPrice: number; } export interface NewOrderTakeProfitLimitPayload { type: RefType; timeInForce: spot.TimeInForce; quantity: number; price: number; stopPrice: number; icebergQty?: number; } export interface NewOrderLimitMakerPayload { type: RefType; quantity: number; price: number; }