using Marathon.Domain.Entities;
using Marathon.Domain.Enums;
namespace Marathon.Application.Abstractions;
///
/// Repository for entities — the forward-test ledger written
/// by the paper-trading worker.
///
public interface IPaperBetRepository : IRepository
{
///
/// Paper bets in a given settlement state — is
/// the open set the settler scans each cycle.
///
Task> ListByOutcomeAsync(BetOutcome outcome, CancellationToken ct = default);
///
/// The subset of that already have a paper bet —
/// lets the opener skip anomalies it has already forward-tested (one bet per anomaly).
///
Task> GetExistingAnomalyIdsAsync(
IReadOnlyCollection anomalyIds, CancellationToken ct = default);
}