using Cleanuparr.Domain.Enums; namespace Cleanuparr.Infrastructure.Features.Notifications; public interface INotificationPublisher { Task NotifyStrike(StrikeType strikeType, int strikeCount); Task NotifyQueueItemDeleted(bool removeFromClient, DeleteReason reason); /// /// Reports that an arr was made to import a download it had blocked. /// Task NotifyForceImported(); Task NotifyDownloadCleaned(double ratio, TimeSpan seedingTime, string categoryName, CleanReason reason); Task NotifyDownloadStopped(double ratio, TimeSpan seedingTime, string categoryName, CleanReason reason); Task NotifyCategoryChanged(string oldCategory, string newCategory, bool isTag = false); Task NotifySearchTriggered(string itemTitle, SeekerSearchType searchType, SeekerSearchReason searchReason); Task NotifySearchItemGrabbed(string itemTitle, List grabbedItems, InstanceType instanceType, string instanceUrl); /// /// Reports that Seeker searched every eligible item of an arr instance once. /// Task NotifySeekerCycleCompleted(string instanceName, TimeSpan duration, int searchedUnits, int grabbedUnits, int upgradesGrabbed); }