using System;
using System.Collections.Generic;
using PolyTraderSharp.Models;

namespace PolyTrader.Modules.CopyTrading.Persistence
{
    /// <summary>
    /// Persistenz der Master-Trader-Historie (geschlossene Trades der Master, für Analytics).
    /// </summary>
    public interface IMasterTraderHistoryRepository
    {
        void EnsureIndexes();

        /// <summary>Prüft, ob ein Eintrag für Trader + Token im Zeitfenster existiert (Dedup).</summary>
        bool Exists(int traderId, string tokenId, DateTime windowStart, DateTime windowEnd);

        void Insert(MasterTraderHistoryRecord record);

        List<MasterTraderHistoryRecord> GetByTraderSince(int traderId, DateTime since);
    }
}
