using CryptoExchange.Net.Authentication;
using CryptoExchange.Net.Objects.Options;
namespace CryptoExchange.Net.Interfaces.Clients
{
///
/// Base rest API client
///
public interface IRestApiClient : IBaseApiClient
{
///
/// The factory for creating requests. Used for unit testing
///
IRequestFactory RequestFactory { get; set; }
///
/// Total amount of requests made with this API client
///
int TotalRequestsMade { get; set; }
}
///
public interface IRestApiClient : IRestApiClient
where TApiCredentials : ApiCredentials
{
///
/// Whether or not API credentials have been configured for this client. Does not check the credentials are actually valid.
///
bool Authenticated { get; }
///
/// Set the API credentials for this API client
///
void SetApiCredentials(TApiCredentials credentials);
///
/// Set new options. Note that when using a proxy this should be provided in the options even when already set before or it will be reset.
///
/// Options to set
void SetOptions(UpdateOptions options);
}
}