using StabilityMatrix.Core.Models.Progress; namespace StabilityMatrix.Core.Services; public interface IDownloadService { Task DownloadToFileAsync( string downloadUrl, string downloadPath, IProgress? progress = null, string? httpClientName = null, CancellationToken cancellationToken = default ); Task ResumeDownloadToFileAsync( string downloadUrl, string downloadPath, long existingFileSize, IProgress? progress = null, string? httpClientName = null, CancellationToken cancellationToken = default ); Task GetFileSizeAsync( string downloadUrl, string? httpClientName = null, CancellationToken cancellationToken = default ); Task GetImageStreamFromUrl(string url); Task GetContentAsync(string url, CancellationToken cancellationToken = default); }