using Newtonsoft.Json.Linq; using OF_DL.Enumerations; using ArchivedEntities = OF_DL.Models.Entities.Archived; using MessageEntities = OF_DL.Models.Entities.Messages; using PostEntities = OF_DL.Models.Entities.Posts; using PurchasedEntities = OF_DL.Models.Entities.Purchased; using StreamEntities = OF_DL.Models.Entities.Streams; using UserEntities = OF_DL.Models.Entities.Users; namespace OF_DL.Services; public interface IApiService { 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 paidPostIds); Task GetPaidPosts(string endpoint, string folder, string username, List paidPostIds, IStatusReporter statusReporter); Task GetPosts(string endpoint, string folder, List paidPostIds, IStatusReporter statusReporter); Task GetPost(string endpoint, string folder); Task GetStreams(string endpoint, string folder, List paidPostIds, IStatusReporter statusReporter); Task GetArchived(string endpoint, string folder, IStatusReporter statusReporter); Task GetMessages(string endpoint, string folder, IStatusReporter statusReporter); Task GetPaidMessages(string endpoint, string folder, string username, IStatusReporter statusReporter); 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); }