import { MidaTradingAccount } from "../accounts/MidaTradingAccount"; import { MidaDecimal } from "../decimals/MidaDecimal"; import { MidaEvent } from "../events/MidaEvent"; import { MidaEventListener } from "../events/MidaEventListener"; import { MidaOrder } from "../orders/MidaOrder"; import { MidaOrderDirectives } from "../orders/MidaOrderDirectives"; import { MidaPeriod } from "../periods/MidaPeriod"; import { MidaPosition } from "../positions/MidaPosition"; import { MidaTradingSystemParameters } from "./MidaTradingSystemParameters"; import { MidaTradingSystemSymbolState } from "./MidaTradingSystemSymbolState"; import { MidaTick } from "../ticks/MidaTick"; import { MidaTimeframe } from "../timeframes/MidaTimeframe"; import { MidaTrade } from "../trades/MidaTrade"; import { GenericObject } from "../utilities/GenericObject"; import { MidaMarketWatcher } from "../watchers/MidaMarketWatcher"; import { MidaMarketWatcherConfiguration } from "../watchers/MidaMarketWatcherConfiguration"; import { MidaMarketWatcherParameters } from "../watchers/MidaMarketWatcherParameters"; export declare abstract class MidaTradingSystem { #private; protected constructor({ name, description, version, tradingAccount, }: MidaTradingSystemParameters); get name(): string; get description(): string; get version(): string; get tradingAccount(): MidaTradingAccount; get isOperative(): boolean; get orders(): MidaOrder[]; get executedOrders(): MidaOrder[]; get trades(): MidaTrade[]; get executedTrades(): MidaTrade[]; protected get capturedTicks(): MidaTick[]; protected get capturedPeriods(): MidaPeriod[]; protected get marketWatcher(): MidaMarketWatcher | undefined; protected get shared(): GenericObject; start(): Promise; stop(): Promise; on(type: string): Promise; on(type: string, listener: MidaEventListener): string; removeEventListener(uuid: string): void; protected watched(): [ Omit, MidaMarketWatcherConfiguration ] | MidaMarketWatcherConfiguration; protected configure(): Promise; protected onStart(): Promise; protected onPreTick(tick: MidaTick): Promise; protected onTick(tick: MidaTick): Promise; protected onLateTick(tick: MidaTick): Promise; protected onPrePeriodUpdate(period: MidaPeriod): Promise; protected onPeriodUpdate(period: MidaPeriod): Promise; protected onLatePeriodUpdate(period: MidaPeriod): Promise; protected onPrePeriodClose(period: MidaPeriod): Promise; protected onPeriodClose(period: MidaPeriod): Promise; protected onLatePeriodClose(period: MidaPeriod): Promise; protected onStop(): Promise; protected onMarketOpen(symbol: string): Promise; protected onMarketClose(symbol: string): Promise; protected onBeforePlaceOrder(directives: MidaOrderDirectives): Promise; protected onPositionImpact(position: MidaPosition): Promise; protected watchTicks(symbol: string): Promise; protected watchPeriods(symbol: string, timeframes: MidaTimeframe[] | MidaTimeframe): Promise; protected unwatch(symbol: string): Promise; protected placeOrder(directives: MidaOrderDirectives): Promise; protected getSymbolBid(symbol: string): Promise; protected getSymbolAsk(symbol: string): Promise; protected getSymbolPeriods(symbol: string, timeframe: MidaTimeframe): Promise; protected notifyListeners(type: string, descriptor?: GenericObject): void; } export interface MidaTradingSystem { [symbolStateGenerator: `$${string}`]: (symbol: string) => MidaTradingSystemSymbolState; }