using BookReader.Models;

namespace BookReader.Services;

public interface ICalibreWebService
{
    Task<bool> TestConnectionAsync(string url, string username, string password);
    Task<Result<List<CalibreBook>>> GetBooksAsync(string? searchQuery = null, int page = 0, int pageSize = 20);
    Task<string> DownloadBookAsync(CalibreBook book, IProgress<double>? progress = null);
    void Configure(string url, string username, string password);
}
