
namespace Beam.Abstractions;

public interface IUnitDownloader<T> {
    public int LinksPerDownload { get; }
    public Task<(bool, T?)> TryDownload(IOrdered<string>[] link, CancellationToken ct, int maximumRetryCount = 7, IProgress<IDownloadReport>? downProgress = null, IProgress<IRetryReport>? tryProgress = null);
}