using Newtonsoft.Json.Linq; using OF_DL.Models; using OF_DL.Models.Messages; using OF_DL.Models.Post; using OF_DL.Models.Purchased; using OF_DL.Models.Streams; using OF_DL.Enumerations; using ArchivedModels = OF_DL.Models.Entities.Archived; using Spectre.Console; namespace OF_DL.Services; public interface IAPIService { 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); Task> GetListUsers(string endpoint); Task> GetMedia(MediaType mediatype, string endpoint, string? username, string folder, List paid_post_ids); Task GetPaidPosts(string endpoint, string folder, string username, List paid_post_ids, StatusContext ctx); Task GetPosts(string endpoint, string folder, List paid_post_ids, StatusContext ctx); Task GetPost(string endpoint, string folder); Task GetStreams(string endpoint, string folder, List paid_post_ids, StatusContext ctx); Task GetArchived(string endpoint, string folder, StatusContext ctx); Task GetMessages(string endpoint, string folder, StatusContext ctx); Task GetPaidMessages(string endpoint, string folder, string username, StatusContext ctx); Task GetPaidMessage(string endpoint, string folder); Task> GetPurchasedTabUsers(string endpoint, Dictionary users); Task> GetPurchasedTab(string endpoint, string folder, Dictionary users); Task GetUserInfo(string endpoint); Task GetUserInfoById(string endpoint); Dictionary GetDynamicHeaders(string path, string queryParam); Task> GetActiveSubscriptions(string endpoint, bool includeRestrictedSubscriptions); Task> GetExpiredSubscriptions(string endpoint, bool includeRestrictedSubscriptions); Task GetDecryptionKeyOFDL(Dictionary drmHeaders, string licenceURL, string pssh); }