using CryptoExchange.Net.Objects;
using CryptoExchange.Net.Objects.Sockets;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace CryptoExchange.Net.SharedApis
{
///
/// Operation for subscribing to funding info updates
///
public interface ISubscribeFundingInfoSocket : ISharedSubscription
{
///
/// Funding info subscription options
///
SubscribeFundingInfoOptions SubscribeFundingInfoOptions { get; }
///
/// Subscribe to funding info updates
///
/// Request info
/// Update handler
/// Cancellation token, can be used to stop the updates
///
Task> SubscribeToFundingInfoUpdatesAsync(SubscribeFundingInfoRequest request, Action> handler, CancellationToken ct = default);
}
}