using System.Threading.Tasks;
using TINK.Repository;
using TINK.Repository.Response;
using TINK.Repository.Response.Stations;
namespace TINK.Model.Services.CopriApi
{
/// Manages cache which holds copri data.
public interface ICachedCopriServer : ICopriServerBase
{
/// Get list of stations.
/// List of all stations.
Task> GetStations(bool fromCache = false);
/// Gets a list of bikes from Copri.
/// Response holding list of bikes.
Task> GetBikesAvailable(bool fromCache = false);
/// Gets a list of bikes reserved/ booked by active user from Copri.
/// Response holding list of bikes.
Task> GetBikesOccupied(bool fromCache = false);
/// Adds https--response to cache if response is ok.
/// Response to add to cache.
void AddToCache(Result result);
/// Adds https--response to cache if response is ok.
/// Response to add to cache.
void AddToCache(Result result);
/// Adds https--response to cache if response is ok.
/// Response to add to cache.
///
void AddToCache(Result result);
}
}