using Cleanuparr.Domain.Enums;
using Cleanuparr.Persistence.Models.Events;
namespace Cleanuparr.Infrastructure.Realtime;
///
/// Pushes events and strikes to connected clients.
///
public interface IEventNotifier
{
///
/// Pushes a newly published event.
///
Task NotifyEventAsync(AppEvent appEvent);
///
/// Pushes a newly published manual event.
///
Task NotifyManualEventAsync(ManualEvent manualEvent);
///
/// Pushes a strike that was just recorded.
///
Task NotifyStrikeAsync(Guid strikeId, StrikeType strikeType, string downloadId, string itemTitle, bool isDryRun);
}