#nullable enable using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; namespace BTCPayServer.Abstractions.Contracts; public interface IFileService { Task IsAvailable(); Task AddFile(IFormFile file, string userId); Task AddFile(Uri file, string userId); Task GetFileUrl(Uri baseUri, string fileId); Task GetTemporaryFileUrl(Uri baseUri, string fileId, DateTimeOffset expiry, bool isDownload); Task RemoveFile(string fileId, string userId); }