using System;
using CryptoExchange.Net.Authentication;
using CryptoExchange.Net.Objects;
namespace CryptoExchange.Net.Interfaces
{
///
/// Base class for rest API implementations
///
public interface IRestClient: IDisposable
{
///
/// The factory for creating requests. Used for unit testing
///
IRequestFactory RequestFactory { get; set; }
///
/// The total amount of requests made with this client
///
int TotalRequestsMade { get; }
///
/// The options provided for this client
///
BaseRestClientOptions ClientOptions { get; }
///
/// Set the API credentials for this client. All Api clients in this client will use the new credentials, regardless of earlier set options.
///
/// The credentials to set
void SetApiCredentials(ApiCredentials credentials);
}
}