import { MidaTradingAccount } from "../accounts/MidaTradingAccount"; import { MidaDate } from "../dates/MidaDate"; import { MidaDecimal } from "../decimals/MidaDecimal"; import { MidaEvent } from "../events/MidaEvent"; import { MidaEventListener } from "../events/MidaEventListener"; import { MidaOrderDirection } from "./MidaOrderDirection"; import { MidaOrderExecutionType } from "./MidaOrderExecutionType"; import { MidaOrderFillType } from "./MidaOrderFillType"; import { MidaOrderParameters } from "./MidaOrderParameters"; import { MidaOrderPurpose } from "./MidaOrderPurpose"; import { MidaOrderRejection } from "./MidaOrderRejection"; import { MidaOrderStatus } from "./MidaOrderStatus"; import { MidaOrderTimeInForce } from "./MidaOrderTimeInForce"; import { MidaPosition } from "../positions/MidaPosition"; import { MidaProtectionDirectives } from "../protections/MidaProtectionDirectives"; import { MidaTrade } from "../trades/MidaTrade"; import { GenericObject } from "../utilities/GenericObject"; export declare abstract class MidaOrder { #private; protected constructor({ id, tradingAccount, symbol, requestedVolume, direction, purpose, limitPrice, stopPrice, requestedProtection, status, creationDate, lastUpdateDate, timeInForce, expirationDate, trades, positionId, rejection, isStopOut, label, clientOrderId, }: MidaOrderParameters); get id(): string; protected set id(id: string); get tradingAccount(): MidaTradingAccount; get symbol(): string; get requestedVolume(): MidaDecimal; get direction(): MidaOrderDirection; get purpose(): MidaOrderPurpose; get limitPrice(): MidaDecimal | undefined; get stopPrice(): MidaDecimal | undefined; get requestedProtection(): MidaProtectionDirectives | undefined; get stopLoss(): MidaDecimal | undefined; get takeProfit(): MidaDecimal | undefined; get trailingStopLoss(): boolean | undefined; get status(): MidaOrderStatus; get creationDate(): MidaDate | undefined; protected set creationDate(creationDate: MidaDate | undefined); get lastUpdateDate(): MidaDate | undefined; protected set lastUpdateDate(lastUpdateDate: MidaDate | undefined); get timeInForce(): MidaOrderTimeInForce; get expirationDate(): MidaDate | undefined; get trades(): MidaTrade[]; get positionId(): string; protected set positionId(positionId: string); get rejection(): MidaOrderRejection | undefined; protected set rejection(rejection: MidaOrderRejection | undefined); get isStopOut(): boolean; get label(): string | undefined; get clientOrderId(): string | undefined; get isExecuted(): boolean; get executedTrades(): MidaTrade[]; get filledVolume(): MidaDecimal; get fillType(): MidaOrderFillType | undefined; get executionPrice(): MidaDecimal | undefined; get executedVolume(): MidaDecimal | undefined; get isOpening(): boolean; get isClosing(): boolean; get executionType(): MidaOrderExecutionType; get isRejected(): boolean; abstract cancel(): Promise; getPosition(): Promise; on(type: string): Promise; on(type: string, listener: MidaEventListener): string; removeEventListener(uuid: string): void; protected notifyListeners(type: string, descriptor?: GenericObject): void; protected onStatusChange(status: MidaOrderStatus): void; protected onPendingPriceChange(price: MidaDecimal): void; protected onPendingVolumeChange(volume: MidaDecimal): void; protected onExpirationDateChange(date: MidaDate | undefined): void; protected onTrade(trade: MidaTrade): void; } export declare function filterPendingOrders(orders: MidaOrder[]): MidaOrder[]; export declare function filterExecutedOrders(orders: MidaOrder[]): MidaOrder[];