using Managing.Common;
using Managing.Domain.Statistics;
using Managing.Domain.Trades;

namespace Managing.Application.Workers.Abstractions;

public interface IStatisticService
{
    List<Trader> GetBadTraders();
    List<Trader> GetBestTraders();
    SpotlightOverview GetLastSpotlight(DateTime dateTime);
    IList<TopVolumeTicker> GetLastTopVolumeTicker();
    Task<List<Trade>> GetLeadboardPositons();
    Task<IList<Enums.Ticker>> GetTickers();
    Task UpdateLeaderboard();
    Task UpdateNoobiesboard();
    Task UpdateSpotlight();
    Task UpdateTopVolumeTicker(Enums.TradingExchanges exchange, int top);
    Task UpdateFundingRates();
    Task<List<FundingRate>> GetFundingRates();
}