using System.Collections.Generic;
using System.Threading.Tasks;
using Kavita.Models.DTOs.ReadingLists.CBL;
namespace Kavita.API.Services.ReadingLists;
public interface ICblGithubService
{
///
/// Browse a directory in the CBL repo. Returns folders and .cbl files only.
/// Results are cached per-directory with TTL. Pass forceRefresh to bypass cache.
///
Task BrowseRepo(string path = "", bool forceRefresh = false);
///
/// Downloads the raw content of a .cbl file by its repo path.
///
Task GetFileContent(string filePath);
///
/// Invalidates all cached directory listings, forcing fresh fetches on next browse.
///
void InvalidateCache();
}