using System.Collections.ObjectModel;
using System.Threading.Tasks;
using Valg.EVA.Skanning.Entity.ReadModel;

namespace Valg.EVA.Skanning.Repositories.Transfers
{
    public interface ITransferRepository
    {
        ReadOnlyCollection<Transfer> GetTransfers(string electionEventId, string contestId, string countingEmlAreaContextId);

        TransferDetails GetTransferDetails(int countingId);
        Task<ReadOnlyCollection<TransferToCheckForStatus>> GetTransfersEligibleForStatusCheckAsync(int statusCheckExpirationInMinutes);
        Task<ReadOnlyCollection<TransferToCleanUp>>  GetTransfersEligibleForCleanupAsync(int cleanupExpirationWindowInMinutes);
    }
}
