import { Required } from 'utility-types'; import { AccountType, OrderActualTransaction, OrderMarket, OrderMarketTime, OrderStatus, OrderTransaction, OrderType, OrderValidity } from '../constants/lookups'; import { Quote } from './Quote.type'; export interface Order { orderType: OrderType; validity: OrderValidity; marketTime: OrderMarketTime; execTime: string; symbol: string; ourRef: string; status: OrderStatus; transType: OrderActualTransaction.Buy | OrderActualTransaction.Sell; market: OrderMarket; theirRef: string; clientRef: string; contraOid: number; aon: number; margin: number; requestState: number; accountType: AccountType; accountId: number; optionFlag: number; legRef: number; noLegs: number; expectedValue: number; quantity: number; execQty: number; remainingQty: number; unallocatedQty: number; limitPx: number; stopPx: number; execPx: number; expectedPx: number; replaceable: boolean; createDate: string; executedDate: string; transaction: OrderTransaction; option: boolean; mutualFund: boolean; translatedStatus: OrderStatus; multilegOrderType: string; marketSpreadPrice: number; executedSpreadPrice: number; expectedSpreadPx: number; cancelable: boolean; algoOrder: boolean; allocation: boolean; actualTransaction: OrderActualTransaction; orderLegs?: Required[]; quote?: Quote; modelId: number; orderRef: string; commission?: number; commissionCurrency?: string; createdBy?: string; isLimit?: boolean; isPending?: boolean; remaining?: number; tradedAmount?: number; unitsFilled?: number; rejectDetails?: string; cancelReason?: string; requestId?: string; messages?: string[]; total?: number; } export interface OrderWithExtraInfo extends Order { companyName: string; modelId: number; model: string; fullName: string; accountNumber: string; tradeType: string; securityType: string; value: number; costValue: number; } export declare type CancelModifyOrder = { market: string; orderRef?: string; OrderRef?: string; }; export declare type ModifyOrderFormValues = { orderRef: string | undefined; quantity: number | undefined; value: number | undefined; stopPrice: number | undefined; limitPrice: number | undefined; };