using Iceshrimp.Backend.Core.Database.Tables; using Iceshrimp.Backend.Core.Events; namespace Iceshrimp.Backend.Core.Services; public interface IEventService { public event EventHandler? NotePublished; public event EventHandler? NoteUpdated; public event EventHandler? NoteDeleted; public event EventHandler? NoteLiked; public event EventHandler? NoteUnliked; public event EventHandler? NoteReacted; public event EventHandler? NoteUnreacted; public event EventHandler? UserFollowed; public event EventHandler? UserUnfollowed; public event EventHandler? UserBlocked; public event EventHandler? UserUnblocked; public event EventHandler? UserMuted; public event EventHandler? UserUnmuted; public event EventHandler? Notification; public event EventHandler? FilterAdded; public event EventHandler? FilterRemoved; public event EventHandler? FilterUpdated; public event EventHandler? ListMembersUpdated; public Task RaiseNotePublished(object? sender, Note note); public Task RaiseNoteUpdated(object? sender, Note note); public Task RaiseNoteDeleted(object? sender, Note note); public Task RaiseNotification(object? sender, Notification notification); public Task RaiseNotifications(object? sender, IEnumerable notifications); public Task RaiseNoteLiked(object? sender, Note note, User user); public Task RaiseNoteUnliked(object? sender, Note note, User user); public Task RaiseNoteReacted(object? sender, NoteReaction reaction); public Task RaiseNoteUnreacted(object? sender, NoteReaction reaction); public Task RaiseUserFollowed(object? sender, User actor, User obj); public Task RaiseUserUnfollowed(object? sender, User actor, User obj); public Task RaiseUserBlocked(object? sender, User actor, User obj); public Task RaiseUserUnblocked(object? sender, User actor, User obj); public Task RaiseUserMuted(object? sender, User actor, User obj); public Task RaiseUserUnmuted(object? sender, User actor, User obj); public Task RaiseFilterAdded(object? sender, Filter filter); public Task RaiseFilterRemoved(object? sender, Filter filter); public Task RaiseFilterUpdated(object? sender, Filter filter); public Task RaiseListMembersUpdated(object? sender, UserList list); }