import { MidaTradingAccount } from "../accounts/MidaTradingAccount"; import { MidaDecimal } from "../decimals/MidaDecimal"; import { MidaDecimalConvertible } from "../decimals/MidaDecimalConvertible"; import { MidaEvent } from "../events/MidaEvent"; import { MidaEventListener } from "../events/MidaEventListener"; import { MidaOrder } from "../orders/MidaOrder"; import { MidaPositionDirection } from "./MidaPositionDirection"; import { MidaPositionParameters } from "./MidaPositionParameters"; import { MidaPositionStatus } from "./MidaPositionStatus"; import { MidaProtection } from "../protections/MidaProtection"; import { MidaProtectionChange } from "../protections/MidaProtectionChange"; import { MidaProtectionDirectives } from "../protections/MidaProtectionDirectives"; import { MidaTrade } from "../trades/MidaTrade"; export declare abstract class MidaPosition { #private; protected constructor({ id, tradingAccount, symbol, volume, direction, entryPrice, protection, }: MidaPositionParameters); get id(): string; get tradingAccount(): MidaTradingAccount; get symbol(): string; get volume(): MidaDecimal; get direction(): MidaPositionDirection | undefined; get entryPrice(): MidaDecimal | undefined; get protection(): MidaProtection; get takeProfit(): MidaDecimal | undefined; get stopLoss(): MidaDecimal | undefined; get trailingStopLoss(): boolean | undefined; get status(): MidaPositionStatus; abstract getUsedMargin(): Promise; abstract getUnrealizedGrossProfit(): Promise; abstract getUnrealizedSwap(): Promise; abstract getUnrealizedCommission(): Promise; abstract changeProtection(directives: MidaProtectionDirectives): Promise; abstract addVolume(volume: MidaDecimalConvertible): Promise; abstract subtractVolume(volume: MidaDecimalConvertible): Promise; reverse(): Promise; close(): Promise; setTakeProfit(takeProfit: MidaDecimalConvertible | undefined): Promise; setStopLoss(stopLoss: MidaDecimalConvertible | undefined): Promise; setTrailingStopLoss(trailingStopLoss: boolean): Promise; on(type: string): Promise; on(type: string, listener: MidaEventListener): string; removeEventListener(uuid: string): void; protected onEntryPriceUpdate(entryPrice?: MidaDecimal): void; protected onTrade(trade: MidaTrade): void; protected onProtectionChange(protection: MidaProtection): void; protected onSwap(swap: MidaDecimal): void; }