using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using FinlyticCore.Dtos.Simulation; namespace FinlyticSimulation.Services; public interface IQuantSimulationEngine { Task RunBacktestAsync(BacktestRequestDto request, CancellationToken cancellationToken = default); Task GetStrategyReliabilityAsync(string isin, string strategyKey, string timeframe = "15m", CancellationToken cancellationToken = default); Task> GetMatrixForAssetAsync(string isin, CancellationToken cancellationToken = default); /// Lightweight, paginated history of past backtest runs for an ISIN (see ). Task> GetBacktestHistoryAsync(GetBacktestHistoryRequest request, CancellationToken cancellationToken = default); /// Full, already-persisted report for one past run, or if the RunId doesn't exist. Task GetBacktestRunDetailAsync(Guid runId, CancellationToken cancellationToken = default); /// Saved parameter profile for one (Isin, StrategyKey) pair, or if none was ever saved. Task GetStrategyParametersAsync(string isin, string strategyKey, CancellationToken cancellationToken = default); /// Upserts a saved parameter profile for one (Isin, StrategyKey) pair. Task SaveStrategyParametersAsync(string isin, string strategyKey, Dictionary parameters, CancellationToken cancellationToken = default); }