import { MidaDate } from "../core/dates/MidaDate"; import { MidaDateConvertible } from "../core/dates/MidaDateConvertible"; import { MidaDecimal } from "../core/decimals/MidaDecimal"; import { MidaDecimalConvertible } from "../core/decimals/MidaDecimalConvertible"; import { MidaEvent } from "../core/events/MidaEvent"; import { MidaEventListener } from "../core/events/MidaEventListener"; import { MidaOrder } from "../core/orders/MidaOrder"; import { MidaOrderDirectives } from "../core/orders/MidaOrderDirectives"; import { MidaOrderRejection } from "../core/orders/MidaOrderRejection"; import { MidaPeriod } from "../core/periods/MidaPeriod"; import { MidaPosition } from "../core/positions/MidaPosition"; import { MidaTick } from "../core/ticks/MidaTick"; import { MidaTimeframe } from "../core/timeframes/MidaTimeframe"; import { MidaTrade } from "../core/trades/MidaTrade"; import { MidaPlaygroundAccount } from "./accounts/MidaPlaygroundAccount"; import { MidaPlaygroundAccountConfiguration } from "./accounts/MidaPlaygroundAccountConfiguration"; import { MidaPlaygroundCommissionCustomizer } from "./customizers/MidaPlaygroundCommissionCustomizer"; import { MidaPlaygroundEngineElapsedData } from "./MidaPlaygroundEngineElapsedData"; import { MidaPlaygroundEngineParameters } from "./MidaPlaygroundEngineParameters"; import { MidaPlaygroundOrder } from "./orders/MidaPlaygroundOrder"; import { MidaPlaygroundPosition } from "./positions/MidaPlaygroundPosition"; import { MidaPlaygroundTrade } from "./trades/MidaPlaygroundTrade"; export declare class MidaPlaygroundEngine { #private; constructor({ localDate, commissionCustomizer, savedTicksLimit, savedPeriodsLimit, }?: MidaPlaygroundEngineParameters); get localDate(): MidaDate; get orders(): MidaOrder[]; get trades(): MidaTrade[]; get positions(): MidaPosition[]; get savedTicksLimit(): number; set savedTicksLimit(limit: number); get savedPeriodsLimit(): number; set savedPeriodsLimit(limit: number); get waitFeedConfirmation(): boolean; set waitFeedConfirmation(waitFeedConfirmation: boolean); setLocalDate(date: MidaDateConvertible): void; setTicksGenerator(symbol: string, generator: AsyncGenerator): void; setPeriodsGenerator(symbol: string, timeframe: MidaTimeframe, generator: AsyncGenerator): void; setCommissionCustomizer(customizer?: MidaPlaygroundCommissionCustomizer): void; getSymbolExchangeRate(symbol: string): Promise; getSymbolBid(symbol: string): Promise; getSymbolAsk(symbol: string): Promise; getSymbolPeriods(symbol: string, timeframe: MidaTimeframe): Promise; placeOrder(tradingAccount: MidaPlaygroundAccount, directives: MidaOrderDirectives): Promise; elapseTime(seconds: number): Promise; elapseTicks(quantity?: number): Promise; nextFeed(): void; addSymbolTicks(symbol: string, ticks: MidaTick[]): void; addSymbolPeriods(symbol: string, periods: MidaPeriod[]): void; getSymbolTicks(symbol: string): MidaTick[]; getOrdersByAccount(tradingAccount: MidaPlaygroundAccount): MidaPlaygroundOrder[]; getTradesByAccount(tradingAccount: MidaPlaygroundAccount): MidaPlaygroundTrade[]; getPendingOrders(): Promise; getOpenPositions(): Promise; getOpenPositionById(id: string): Promise; getOpenPositionsByAccount(tradingAccount: MidaPlaygroundAccount): Promise; protected tryExecuteOrder(order: MidaPlaygroundOrder): Promise; createAccount(configuration?: MidaPlaygroundAccountConfiguration): Promise; on(type: string): Promise; on(type: string, listener: MidaEventListener): string; removeEventListener(uuid: string): void; protected notifyListeners(type: string, descriptor?: Record): void; cancelOrder(orderId: string): void; protected rejectOrder(orderId: string, rejection: MidaOrderRejection): void; protected acceptOrder(orderId: string): void; protected moveOrderToPending(orderId: string): void; protected accountHasFunds(tradingAccount: MidaPlaygroundAccount, asset: string, volume: MidaDecimalConvertible): Promise; }