using Common.Configuration.Arr; using Domain.Enums; using Domain.Models.Arr; using Domain.Models.Arr.Queue; namespace Infrastructure.Verticals.Arr.Interfaces; public interface IArrClient { Task GetQueueItemsAsync(ArrInstance arrInstance, int page); Task ShouldRemoveFromQueue(InstanceType instanceType, QueueRecord record, bool isPrivateDownload); Task DeleteQueueItemAsync(ArrInstance arrInstance, QueueRecord record, bool removeFromClient); Task RefreshItemsAsync(ArrInstance arrInstance, HashSet? items); bool IsRecordValid(QueueRecord record); }