using System.Threading.Tasks;
using Knoks.Core.Entities;
using System.Collections.Generic;

namespace Knoks.Core.Logic.Interfaces
{
    public interface IGeneralManager
    {
        Task<IEnumerable<Country>> GetCountries(string countryCode2 = null);
        Task<IEnumerable<Language>> GetLanguages();
        Task<IEnumerable<Currency>> GetFilterCurrencies(long? userId, bool? availableKnoks, bool? activeKnoks, bool? endedKnoks);
        Task<IEnumerable<Currency>> GetCurrencies(string currency);
        Task<IEnumerable<Exchange>> GetExchanges(long? userId, bool? availableKnocks, bool? activeKnocks, bool? endedKnoks);
        Task<IEnumerable<KnokStatus>> GetKnokStatuses();
        Task<ExchangeStart> GetKnokStartValues(long exchangeId, string currency1, string currency2 );
        Task<IEnumerable<RankCount>> GetUserRankCount(long? userId);
        Task<IEnumerable<KnokLossCount>> GetKnoksLossCount(long? userId);
        string GetAvatarUrl(long userId);
        Task AddKnokFeedBack(Feedback feedback);
      
    }
}