using QuantEngine.Core.Interfaces;

namespace QuantEngine.Application.Interfaces;

public interface ICollectionReadModelService
{
    Task<CollectionDashboardStateRecord> GetDashboardStateAsync();
    Task<List<CollectionRunRecord>> GetRecentRunsAsync(int limit = 20);
    Task<List<CollectionSnapshotRecord>> GetRunSnapshotsAsync(string runId);
    Task<List<CollectionErrorRecord>> GetRunErrorsAsync(string runId, int limit = 50);
    Task<List<CollectionSnapshotRecord>> GetLatestSnapshotsForTickerAsync(string ticker, int limit = 10);
    Task<List<PriceHistorySummaryRecord>> GetPriceHistorySummaryAsync();
}
