import { BinanceSignedClient } from '../../../clients'; import { RefType, usdtM, XOR, XORArray } from '../../../info'; export declare type NewOrderPayload = { symbol: string; side: usdtM.OrderSide; } & XORArray<[ { type: RefType; timeInForce: usdtM.TimeInForce; quantity: number; price: number; }, { type: RefType; quantity: number; }, { type: RefType; callbackRate: number; activationPrice?: number; }, { stopPrice: number; priceProtect?: boolean; } & XOR<{ type: RefType; quantity: number; price: number; }, { type: RefType; closePosition?: boolean; }> ]> & { positionSide?: usdtM.PositionSide; timeInForce?: usdtM.TimeInForce; quantity?: number; reduceOnly?: boolean; price?: number; newClientOrderId?: string; workType?: usdtM.WorkingType; newOrderRespType: ResponseType; }; export declare type NewOrderPayloadRaw = { symbol: string; side: usdtM.OrderSide; } & ({ type: RefType; timeInForce: usdtM.TimeInForce; quantity: string; price: string; } | { type: RefType; quantity: string; } | { type: RefType; callbackRate: number; activationPrice?: string; } | ({ stopPrice: string; priceProtect?: boolean; } & ({ type: RefType; quantity: string; price: string; } | { type: RefType; closePosition?: boolean; }))) & { positionSide?: usdtM.PositionSide; timeInForce?: usdtM.TimeInForce; quantity?: string; reduceOnly?: boolean; price?: string; newClientOrderId?: string; workType?: usdtM.WorkingType; newOrderRespType: ResponseType; }; export interface NewOrderResponse { clientOrderId: string; cumQuantity: number; cumQuote: number; executedQuantity: number; orderId: number; averagePrice: number; origQuantity: number; price: number; reduceOnly: boolean; side: usdtM.OrderSide; positionSide: usdtM.PositionSide; status: usdtM.OrderStatus; stopPrice: number; closePosition: boolean; symbol: string; timeInForce: usdtM.TimeInForce; type: usdtM.PositionOrderType; origType: usdtM.OrderType; activatePrice: number; priceRate: number; updateTime: Date; workingType: usdtM.WorkingType; priceProtect: boolean; } export interface NewOrderResponseRaw { clientOrderId: string; cumQty: string; cumQuote: string; executedQty: string; orderId: number; avgPrice: string; origQty: string; price: string; reduceOnly: boolean; side: usdtM.OrderSide; positionSide: usdtM.PositionSide; status: usdtM.OrderStatus; stopPrice: string; closePosition: boolean; symbol: string; timeInForce: usdtM.TimeInForce; type: usdtM.PositionOrderType; origType: usdtM.OrderType; activatePrice: string; priceRate: string; updateTime: number; workingType: usdtM.WorkingType; priceProtect: boolean; } export declare function newOrder(client: BinanceSignedClient, payload: NewOrderPayload): Promise;