using Newtonsoft.Json.Linq; using OF_DL.Entities; using OF_DL.Entities.Archived; using OF_DL.Entities.Messages; using OF_DL.Entities.Post; using OF_DL.Entities.Purchased; using OF_DL.Entities.Streams; using OF_DL.Enumurations; using Spectre.Console; namespace OF_DL.Helpers { public interface IAPIHelper { Task GetDecryptionKeyCDRMProject(Dictionary drmHeaders, string licenceURL, string pssh); Task GetDecryptionKeyCDM(Dictionary drmHeaders, string licenceURL, string pssh); Task GetDRMMPDLastModified(string mpdUrl, string policy, string signature, string kvp); Task GetDRMMPDPSSH(string mpdUrl, string policy, string signature, string kvp); Task> GetLists(string endpoint, IDownloadConfig config); Task> GetListUsers(string endpoint, IDownloadConfig config); Task> GetMedia(MediaType mediatype, string endpoint, string? username, string folder, IDownloadConfig config, List paid_post_ids); Task GetPaidPosts(string endpoint, string folder, string username, IDownloadConfig config, List paid_post_ids, StatusContext ctx); Task GetPosts(string endpoint, string folder, IDownloadConfig config, List paid_post_ids, StatusContext ctx); Task GetPost(string endpoint, string folder, IDownloadConfig config); Task GetStreams(string endpoint, string folder, IDownloadConfig config, List paid_post_ids, StatusContext ctx); Task GetArchived(string endpoint, string folder, IDownloadConfig config, StatusContext ctx); Task GetMessages(string endpoint, string folder, IDownloadConfig config, StatusContext ctx); Task GetPaidMessages(string endpoint, string folder, string username, IDownloadConfig config, StatusContext ctx); Task> GetPurchasedTabUsers(string endpoint, IDownloadConfig config, Dictionary users); Task> GetPurchasedTab(string endpoint, string folder, IDownloadConfig config, Dictionary users); Task GetUserInfo(string endpoint); Task GetUserInfoById(string endpoint); Dictionary GetDynamicHeaders(string path, string queryParam); Task> GetActiveSubscriptions(string endpoint, bool includeRestrictedSubscriptions, IDownloadConfig config); Task> GetExpiredSubscriptions(string endpoint, bool includeRestrictedSubscriptions, IDownloadConfig config); Task GetDecryptionKeyOFDL(Dictionary drmHeaders, string licenceURL, string pssh); } }