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(); }