import 'package:tencent_cloud_chat_sdk/enum/V2TimGroupListener.dart'; import 'package:tencent_cloud_chat_sdk/enum/group_application_type_enum.dart'; import 'package:tencent_cloud_chat_sdk/enum/group_member_filter_enum.dart'; import 'package:tencent_cloud_chat_sdk/enum/group_member_role_enum.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_callback.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_callback.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_application_result.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_application_result.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_info.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_info.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_info_result.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_info_result.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_member_full_info.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_member_full_info.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_member_info_result.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_member_info_result.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_member_operation_result.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_member_operation_result.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_member_search_param.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_member_search_param.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_member_search_result.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_member_search_result.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_group_search_param.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_group_search_param.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_value_callback.dart' if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_value_callback.dart'; abstract class GroupServices { Future?> getJoinedGroupList(); Future?> getGroupsInfo({ required List groupIDList, }); Future> getGroupMemberList({ required String groupID, required GroupMemberFilterTypeEnum filter, required String nextSeq, int count = 15, int offset = 0, }); Future>> getGroupMembersInfo( {required String groupID, required List memberList}); Future setGroupInfo({ required V2TimGroupInfo info, }); Future setGroupMemberRole({ required String groupID, required String userID, required GroupMemberRoleTypeEnum role, }); getGroupMembersInfoThrottle({required String groupID, required List memberList, Function? callBack}); Future muteGroupMember({ required String groupID, required String userID, required int seconds, }); Future setGroupMemberInfo({ required String groupID, required String userID, String? nameCard, Map? customInfo, }); Future kickGroupMember({ required String groupID, required List memberList, String? reason, }); Future>> inviteUserToGroup({ required String groupID, required List userList, }); Future>> searchGroups({ required V2TimGroupSearchParam searchParam, }); Future> searchGroupMembers({ required V2TimGroupMemberSearchParam searchParam, }); Future joinGroup({ required String groupID, required String message, }); Future addGroupListener({ required V2TimGroupListener listener, }); Future removeGroupListener({ V2TimGroupListener? listener, }); Future> getGroupApplicationList(); Future acceptGroupApplication({ required String groupID, required String fromUser, required String toUser, required int addTime, required int type, String? reason, }); Future refuseGroupApplication( {String? reason, required int addTime, required String groupID, required String fromUser, required String toUser, required GroupApplicationTypeEnum type}); }