using Govor.Application.Interfaces.Messages.Parameters; using Govor.Core.Models; namespace Govor.Application.Interfaces; public interface IGroupService { Task GetGroupByIdAsync(Guid groupId); Task CreateGroupAsync(string name, Guid creatorId, IEnumerable initialMemberIds); Task AddUserToGroupByInvitationAsync(Guid userId, string invitationCode); Task RemoveUserFromGroupAsync(Guid groupId, Guid userId, Guid removedByUserId); Task DeleteGroupAsync(Guid groupId, Guid userId); Task> GetGroupMembersAsync(Guid groupId); Task>GetUserGroupsAsync(Guid userId); ChatGroup GetGroupByInviteCode(string code); }