using System.Threading; using System.Threading.Tasks; using BTCPayServer.Abstractions.Custodians.Client; using Newtonsoft.Json.Linq; namespace BTCPayServer.Abstractions.Custodians; /// /// Interface for custodians that can move funds to the store wallet. /// public interface ICanWithdraw { public Task WithdrawToStoreWalletAsync(string paymentMethod, decimal amount, JObject config, CancellationToken cancellationToken); public Task SimulateWithdrawalAsync(string paymentMethod, decimal qty, JObject config, CancellationToken cancellationToken); public Task GetWithdrawalInfoAsync(string paymentMethod, string withdrawalId, JObject config, CancellationToken cancellationToken); public string[] GetWithdrawablePaymentMethods(); }