using System.Threading;
using System.Threading.Tasks;
namespace CryptoExchange.Net.SharedApis
{
///
/// Client for placing trigger orders
///
public interface IFuturesTriggerOrderRestClient : ISharedClient
{
///
/// Place spot trigger order options
///
PlaceFuturesTriggerOrderOptions PlaceFuturesTriggerOrderOptions { get; }
///
/// Place a new trigger order
///
/// Request info
/// Cancellation token
///
Task> PlaceFuturesTriggerOrderAsync(PlaceFuturesTriggerOrderRequest request, CancellationToken ct = default);
///
/// Get trigger order request options
///
EndpointOptions GetFuturesTriggerOrderOptions { get; }
///
/// Get info on a specific trigger order
///
/// Request info
/// Cancellation token
Task> GetFuturesTriggerOrderAsync(GetOrderRequest request, CancellationToken ct = default);
///
/// Cancel trigger order request options
///
EndpointOptions CancelFuturesTriggerOrderOptions { get; }
///
/// Cancel a trigger order
///
/// Request info
/// Cancellation token
Task> CancelFuturesTriggerOrderAsync(CancelOrderRequest request, CancellationToken ct = default);
}
}