import '../../models/group_model.dart';
import '../../models/group_member_model.dart';

abstract class GroupService {
  /// Returns all groups.
  Future<List<GroupModel>> getGroups();

  /// Creates a new group.
  Future<GroupModel> createGroup(String name);

  /// Invites a user to a group by username.
  Future<void> inviteMember(String groupId, String username);

  /// Removes a member from a group.
  Future<void> removeMember(String groupId, String userId);

  /// Returns all members of a group.
  Future<List<GroupMemberModel>> getGroupMembers(String groupId);
}
