namespace Knot.Contracts.Messaging.Domain;

public interface IMessageReactionRepository
{
    Task AddAsync(MessageReaction reaction, CancellationToken cancellationToken);
    Task RemoveAsync(Guid messageId, Guid userId, string emoji, CancellationToken cancellationToken);
    Task<List<MessageReaction>> GetReactionsForMessageAsync(Guid messageId, CancellationToken cancellationToken);
    Task<List<MessageReaction>> GetReactionsForMessagesAsync(IEnumerable<Guid> messageIds, CancellationToken cancellationToken);
}
