import type { BacktestEvent, Bar, MaValues, OiOhlc, Strategy } from "../types"; import { MockTradingEnv } from "../testing/mock-trading-env"; import type { MockTradingEnvOptions } from "../testing/mock-trading-env"; /** * Real-time paper engine: the exact backtest runtime fed with live closed bars. Fills, stop-losses, * take-profits, commissions and equity all follow the backtest semantics, so a strategy paper-trades * with literally the same engine the player backtests with. Adds incremental event draining so the * host can forward freshly emitted events (notifications, journaling) after each bar. */ export declare class PaperStrategyRunner extends MockTradingEnv { private drainedEventCount; /** The runtime's own 24h-volume series, filled bar by bar (the player loads it upfront instead). */ private readonly volume24hByTime; private isVolumeSeriesRegistered; private readonly resolution; constructor(strategy: Strategy, options?: MockTradingEnvOptions); feedClosedBar(bar: Bar, maValues?: MaValues, oiBar?: OiOhlc, volume24hUsd?: number): void; /** * Replay a historical closed bar to build price/open-interest history WITHOUT * running the strategy — no trades, no events. Used for paper warmup so the bot * starts flat and only acts on candles that close after it goes live. */ catchUpBar(bar: Bar, maValues?: MaValues, oiBar?: OiOhlc, volume24hUsd?: number): void; /** * Feeds the turnover into the runtime's EXISTING volume series (the one the backtest player fills * from the database) instead of adding a second store: live bars arrive one at a time, so the map is * registered once and then grown in place — the runtime holds it by reference. */ private rememberVolume24h; drainNewEventList(): BacktestEvent[]; } //# sourceMappingURL=paper-strategy-runner.d.ts.map