using Managing.Domain.Statistics;

namespace Managing.Application.Abstractions.Services;

public interface IAgentService
{
    Task<AgentBalanceHistory> GetAgentBalances(string agentName, DateTime start, DateTime? end = null);
    
    Task<(IList<AgentBalanceHistory> Agents, int TotalCount)> GetBestAgents(DateTime start, DateTime? end = null,
        int page = 1,
        int pageSize = 10);
    
    Task SaveOrUpdateAgentSummary(AgentSummary agentSummary);
    
    Task<IEnumerable<AgentSummary>> GetAllAgentSummaries();
    Task<IEnumerable<string>> GetAllOnlineAgents();
}