'use strict';

var listen = require('./apis/listen.cjs');
var acceptFriendRequest = require('./apis/acceptFriendRequest.cjs');
var addGroupBlockedMember = require('./apis/addGroupBlockedMember.cjs');
var addGroupDeputy = require('./apis/addGroupDeputy.cjs');
var addPollOptions = require('./apis/addPollOptions.cjs');
var addQuickMessage = require('./apis/addQuickMessage.cjs');
var addReaction = require('./apis/addReaction.cjs');
var addUnreadMark = require('./apis/addUnreadMark.cjs');
var addUserToGroup = require('./apis/addUserToGroup.cjs');
var blockUser = require('./apis/blockUser.cjs');
var blockViewFeed = require('./apis/blockViewFeed.cjs');
var changeAccountAvatar = require('./apis/changeAccountAvatar.cjs');
var changeFriendAlias = require('./apis/changeFriendAlias.cjs');
var changeGroupAvatar = require('./apis/changeGroupAvatar.cjs');
var changeGroupName = require('./apis/changeGroupName.cjs');
var changeGroupOwner = require('./apis/changeGroupOwner.cjs');
var createAutoReply = require('./apis/createAutoReply.cjs');
var createCatalog = require('./apis/createCatalog.cjs');
var createGroup = require('./apis/createGroup.cjs');
var createNote = require('./apis/createNote.cjs');
var createPoll = require('./apis/createPoll.cjs');
var createProductCatalog = require('./apis/createProductCatalog.cjs');
var createReminder = require('./apis/createReminder.cjs');
var deleteAutoReply = require('./apis/deleteAutoReply.cjs');
var deleteAvatar = require('./apis/deleteAvatar.cjs');
var deleteCatalog = require('./apis/deleteCatalog.cjs');
var deleteChat = require('./apis/deleteChat.cjs');
var deleteGroupInviteBox = require('./apis/deleteGroupInviteBox.cjs');
var deleteMessage = require('./apis/deleteMessage.cjs');
var deleteProductCatalog = require('./apis/deleteProductCatalog.cjs');
var disableGroupLink = require('./apis/disableGroupLink.cjs');
var disperseGroup = require('./apis/disperseGroup.cjs');
var editNote = require('./apis/editNote.cjs');
var editReminder = require('./apis/editReminder.cjs');
var enableGroupLink = require('./apis/enableGroupLink.cjs');
var fetchAccountInfo = require('./apis/fetchAccountInfo.cjs');
var findUser = require('./apis/findUser.cjs');
var findUserByUsername = require('./apis/findUserByUsername.cjs');
var forwardMessage = require('./apis/forwardMessage.cjs');
var getAliasList = require('./apis/getAliasList.cjs');
var getAllFriends = require('./apis/getAllFriends.cjs');
var getAllGroups = require('./apis/getAllGroups.cjs');
var getArchivedChatList = require('./apis/getArchivedChatList.cjs');
var getAutoDeleteChat = require('./apis/getAutoDeleteChat.cjs');
var getAutoReplyList = require('./apis/getAutoReplyList.cjs');
var getAvatarList = require('./apis/getAvatarList.cjs');
var getAvatarUrlProfile = require('./apis/getAvatarUrlProfile.cjs');
var getBizAccount = require('./apis/getBizAccount.cjs');
var getCatalogList = require('./apis/getCatalogList.cjs');
var getCloseFriends = require('./apis/getCloseFriends.cjs');
var getContext = require('./apis/getContext.cjs');
var getCookie = require('./apis/getCookie.cjs');
var getFriendBoardList = require('./apis/getFriendBoardList.cjs');
var getFriendOnlines = require('./apis/getFriendOnlines.cjs');
var getFriendRecommendations = require('./apis/getFriendRecommendations.cjs');
var getFriendRequestStatus = require('./apis/getFriendRequestStatus.cjs');
var getFullAvatar = require('./apis/getFullAvatar.cjs');
var getGroupBlockedMember = require('./apis/getGroupBlockedMember.cjs');
var getGroupChatHistory = require('./apis/getGroupChatHistory.cjs');
var getGroupInfo = require('./apis/getGroupInfo.cjs');
var getGroupInviteBoxInfo = require('./apis/getGroupInviteBoxInfo.cjs');
var getGroupInviteBoxList = require('./apis/getGroupInviteBoxList.cjs');
var getGroupLinkDetail = require('./apis/getGroupLinkDetail.cjs');
var getGroupLinkInfo = require('./apis/getGroupLinkInfo.cjs');
var getGroupMembersInfo = require('./apis/getGroupMembersInfo.cjs');
var getHiddenConversations = require('./apis/getHiddenConversations.cjs');
var getLabels = require('./apis/getLabels.cjs');
var getListBoard = require('./apis/getListBoard.cjs');
var getListReminder = require('./apis/getListReminder.cjs');
var getMultiUsersByPhones = require('./apis/getMultiUsersByPhones.cjs');
var getMute = require('./apis/getMute.cjs');
var getOwnId = require('./apis/getOwnId.cjs');
var getPendingGroupMembers = require('./apis/getPendingGroupMembers.cjs');
var getPinConversations = require('./apis/getPinConversations.cjs');
var getPollDetail = require('./apis/getPollDetail.cjs');
var getProductCatalogList = require('./apis/getProductCatalogList.cjs');
var getQR = require('./apis/getQR.cjs');
var getQuickMessageList = require('./apis/getQuickMessageList.cjs');
var getRelatedFriendGroup = require('./apis/getRelatedFriendGroup.cjs');
var getReminder = require('./apis/getReminder.cjs');
var getReminderResponses = require('./apis/getReminderResponses.cjs');
var getSentFriendRequest = require('./apis/getSentFriendRequest.cjs');
var getSettings = require('./apis/getSettings.cjs');
var getStickerCategoryDetail = require('./apis/getStickerCategoryDetail.cjs');
var getStickers = require('./apis/getStickers.cjs');
var getStickersDetail = require('./apis/getStickersDetail.cjs');
var getUnreadMark = require('./apis/getUnreadMark.cjs');
var getUserInfo = require('./apis/getUserInfo.cjs');
var inviteUserToGroups = require('./apis/inviteUserToGroups.cjs');
var joinGroupInviteBox = require('./apis/joinGroupInviteBox.cjs');
var joinGroupLink = require('./apis/joinGroupLink.cjs');
var keepAlive = require('./apis/keepAlive.cjs');
var lastOnline = require('./apis/lastOnline.cjs');
var leaveGroup = require('./apis/leaveGroup.cjs');
var lockPoll = require('./apis/lockPoll.cjs');
var parseLink = require('./apis/parseLink.cjs');
var rejectFriendRequest = require('./apis/rejectFriendRequest.cjs');
var removeFriend = require('./apis/removeFriend.cjs');
var removeFriendAlias = require('./apis/removeFriendAlias.cjs');
var removeGroupBlockedMember = require('./apis/removeGroupBlockedMember.cjs');
var removeGroupDeputy = require('./apis/removeGroupDeputy.cjs');
var removeQuickMessage = require('./apis/removeQuickMessage.cjs');
var removeReminder = require('./apis/removeReminder.cjs');
var removeUnreadMark = require('./apis/removeUnreadMark.cjs');
var removeUserFromGroup = require('./apis/removeUserFromGroup.cjs');
var resetHiddenConversPin = require('./apis/resetHiddenConversPin.cjs');
var reuseAvatar = require('./apis/reuseAvatar.cjs');
var reviewPendingMemberRequest = require('./apis/reviewPendingMemberRequest.cjs');
var searchSticker = require('./apis/searchSticker.cjs');
var sendBankCard = require('./apis/sendBankCard.cjs');
var sendCard = require('./apis/sendCard.cjs');
var sendDeliveredEvent = require('./apis/sendDeliveredEvent.cjs');
var sendFriendRequest = require('./apis/sendFriendRequest.cjs');
var sendLink = require('./apis/sendLink.cjs');
var sendMessage = require('./apis/sendMessage.cjs');
var sendReport = require('./apis/sendReport.cjs');
var sendSeenEvent = require('./apis/sendSeenEvent.cjs');
var sendSticker = require('./apis/sendSticker.cjs');
var sendTypingEvent = require('./apis/sendTypingEvent.cjs');
var sendVideo = require('./apis/sendVideo.cjs');
var sendVoice = require('./apis/sendVoice.cjs');
var setHiddenConversations = require('./apis/setHiddenConversations.cjs');
var setMute = require('./apis/setMute.cjs');
var setPinnedConversations = require('./apis/setPinnedConversations.cjs');
var sharePoll = require('./apis/sharePoll.cjs');
var unblockUser = require('./apis/unblockUser.cjs');
var undo = require('./apis/undo.cjs');
var undoFriendRequest = require('./apis/undoFriendRequest.cjs');
var updateActiveStatus = require('./apis/updateActiveStatus.cjs');
var updateArchivedChatList = require('./apis/updateArchivedChatList.cjs');
var updateAutoDeleteChat = require('./apis/updateAutoDeleteChat.cjs');
var updateAutoReply = require('./apis/updateAutoReply.cjs');
var updateCatalog = require('./apis/updateCatalog.cjs');
var updateGroupSettings = require('./apis/updateGroupSettings.cjs');
var updateHiddenConversPin = require('./apis/updateHiddenConversPin.cjs');
var updateLabels = require('./apis/updateLabels.cjs');
var updateLang = require('./apis/updateLang.cjs');
var updateProductCatalog = require('./apis/updateProductCatalog.cjs');
var updateProfile = require('./apis/updateProfile.cjs');
var updateProfileBio = require('./apis/updateProfileBio.cjs');
var updateQuickMessage = require('./apis/updateQuickMessage.cjs');
var updateSettings = require('./apis/updateSettings.cjs');
var upgradeGroupToCommunity = require('./apis/upgradeGroupToCommunity.cjs');
var uploadAttachment = require('./apis/uploadAttachment.cjs');
var uploadProductPhoto = require('./apis/uploadProductPhoto.cjs');
var votePoll = require('./apis/votePoll.cjs');
var custom = require('./apis/custom.cjs');

class API {
    constructor(ctx, zpwServiceMap, wsUrls) {
        this.zpwServiceMap = zpwServiceMap;
        this.listener = new listen.Listener(ctx, wsUrls);
        this.acceptFriendRequest = acceptFriendRequest.acceptFriendRequestFactory(ctx, this);
        this.addGroupBlockedMember = addGroupBlockedMember.addGroupBlockedMemberFactory(ctx, this);
        this.addGroupDeputy = addGroupDeputy.addGroupDeputyFactory(ctx, this);
        this.addPollOptions = addPollOptions.addPollOptionsFactory(ctx, this);
        this.addQuickMessage = addQuickMessage.addQuickMessageFactory(ctx, this);
        this.addReaction = addReaction.addReactionFactory(ctx, this);
        this.addUnreadMark = addUnreadMark.addUnreadMarkFactory(ctx, this);
        this.addUserToGroup = addUserToGroup.addUserToGroupFactory(ctx, this);
        this.blockUser = blockUser.blockUserFactory(ctx, this);
        this.blockViewFeed = blockViewFeed.blockViewFeedFactory(ctx, this);
        this.changeAccountAvatar = changeAccountAvatar.changeAccountAvatarFactory(ctx, this);
        this.changeFriendAlias = changeFriendAlias.changeFriendAliasFactory(ctx, this);
        this.changeGroupAvatar = changeGroupAvatar.changeGroupAvatarFactory(ctx, this);
        this.changeGroupName = changeGroupName.changeGroupNameFactory(ctx, this);
        this.changeGroupOwner = changeGroupOwner.changeGroupOwnerFactory(ctx, this);
        this.createAutoReply = createAutoReply.createAutoReplyFactory(ctx, this);
        this.createCatalog = createCatalog.createCatalogFactory(ctx, this);
        this.createGroup = createGroup.createGroupFactory(ctx, this);
        this.createNote = createNote.createNoteFactory(ctx, this);
        this.createPoll = createPoll.createPollFactory(ctx, this);
        this.createProductCatalog = createProductCatalog.createProductCatalogFactory(ctx, this);
        this.createReminder = createReminder.createReminderFactory(ctx, this);
        this.deleteAutoReply = deleteAutoReply.deleteAutoReplyFactory(ctx, this);
        this.deleteAvatar = deleteAvatar.deleteAvatarFactory(ctx, this);
        this.deleteCatalog = deleteCatalog.deleteCatalogFactory(ctx, this);
        this.deleteChat = deleteChat.deleteChatFactory(ctx, this);
        this.deleteGroupInviteBox = deleteGroupInviteBox.deleteGroupInviteBoxFactory(ctx, this);
        this.deleteMessage = deleteMessage.deleteMessageFactory(ctx, this);
        this.deleteProductCatalog = deleteProductCatalog.deleteProductCatalogFactory(ctx, this);
        this.disableGroupLink = disableGroupLink.disableGroupLinkFactory(ctx, this);
        this.disperseGroup = disperseGroup.disperseGroupFactory(ctx, this);
        this.editNote = editNote.editNoteFactory(ctx, this);
        this.editReminder = editReminder.editReminderFactory(ctx, this);
        this.enableGroupLink = enableGroupLink.enableGroupLinkFactory(ctx, this);
        this.fetchAccountInfo = fetchAccountInfo.fetchAccountInfoFactory(ctx, this);
        this.findUser = findUser.findUserFactory(ctx, this);
        this.findUserByUsername = findUserByUsername.findUserByUsernameFactory(ctx, this);
        this.forwardMessage = forwardMessage.forwardMessageFactory(ctx, this);
        this.getAliasList = getAliasList.getAliasListFactory(ctx, this);
        this.getAllFriends = getAllFriends.getAllFriendsFactory(ctx, this);
        this.getAllGroups = getAllGroups.getAllGroupsFactory(ctx, this);
        this.getArchivedChatList = getArchivedChatList.getArchivedChatListFactory(ctx, this);
        this.getAutoDeleteChat = getAutoDeleteChat.getAutoDeleteChatFactory(ctx, this);
        this.getAutoReplyList = getAutoReplyList.getAutoReplyListFactory(ctx, this);
        this.getAvatarList = getAvatarList.getAvatarListFactory(ctx, this);
        this.getAvatarUrlProfile = getAvatarUrlProfile.getAvatarUrlProfileFactory(ctx, this);
        this.getBizAccount = getBizAccount.getBizAccountFactory(ctx, this);
        this.getCatalogList = getCatalogList.getCatalogListFactory(ctx, this);
        this.getCloseFriends = getCloseFriends.getCloseFriendsFactory(ctx, this);
        this.getContext = getContext.getContextFactory(ctx, this);
        this.getCookie = getCookie.getCookieFactory(ctx, this);
        this.getFriendBoardList = getFriendBoardList.getFriendBoardListFactory(ctx, this);
        this.getFriendOnlines = getFriendOnlines.getFriendOnlinesFactory(ctx, this);
        this.getFriendRecommendations = getFriendRecommendations.getFriendRecommendationsFactory(ctx, this);
        this.getFriendRequestStatus = getFriendRequestStatus.getFriendRequestStatusFactory(ctx, this);
        this.getFullAvatar = getFullAvatar.getFullAvatarFactory(ctx, this);
        this.getGroupBlockedMember = getGroupBlockedMember.getGroupBlockedMemberFactory(ctx, this);
        this.getGroupChatHistory = getGroupChatHistory.getGroupChatHistoryFactory(ctx, this);
        this.getGroupInfo = getGroupInfo.getGroupInfoFactory(ctx, this);
        this.getGroupInviteBoxInfo = getGroupInviteBoxInfo.getGroupInviteBoxInfoFactory(ctx, this);
        this.getGroupInviteBoxList = getGroupInviteBoxList.getGroupInviteBoxListFactory(ctx, this);
        this.getGroupLinkDetail = getGroupLinkDetail.getGroupLinkDetailFactory(ctx, this);
        this.getGroupLinkInfo = getGroupLinkInfo.getGroupLinkInfoFactory(ctx, this);
        this.getGroupMembersInfo = getGroupMembersInfo.getGroupMembersInfoFactory(ctx, this);
        this.getHiddenConversations = getHiddenConversations.getHiddenConversationsFactory(ctx, this);
        this.getLabels = getLabels.getLabelsFactory(ctx, this);
        this.getListBoard = getListBoard.getListBoardFactory(ctx, this);
        this.getListReminder = getListReminder.getListReminderFactory(ctx, this);
        this.getMultiUsersByPhones = getMultiUsersByPhones.getMultiUsersByPhonesFactory(ctx, this);
        this.getMute = getMute.getMuteFactory(ctx, this);
        this.getOwnId = getOwnId.getOwnIdFactory(ctx, this);
        this.getPendingGroupMembers = getPendingGroupMembers.getPendingGroupMembersFactory(ctx, this);
        this.getPinConversations = getPinConversations.getPinConversationsFactory(ctx, this);
        this.getPollDetail = getPollDetail.getPollDetailFactory(ctx, this);
        this.getProductCatalogList = getProductCatalogList.getProductCatalogListFactory(ctx, this);
        this.getQR = getQR.getQRFactory(ctx, this);
        this.getQuickMessageList = getQuickMessageList.getQuickMessageListFactory(ctx, this);
        this.getRelatedFriendGroup = getRelatedFriendGroup.getRelatedFriendGroupFactory(ctx, this);
        this.getReminder = getReminder.getReminderFactory(ctx, this);
        this.getReminderResponses = getReminderResponses.getReminderResponsesFactory(ctx, this);
        this.getSentFriendRequest = getSentFriendRequest.getSentFriendRequestFactory(ctx, this);
        this.getSettings = getSettings.getSettingsFactory(ctx, this);
        this.getStickerCategoryDetail = getStickerCategoryDetail.getStickerCategoryDetailFactory(ctx, this);
        this.getStickers = getStickers.getStickersFactory(ctx, this);
        this.getStickersDetail = getStickersDetail.getStickersDetailFactory(ctx, this);
        this.getUnreadMark = getUnreadMark.getUnreadMarkFactory(ctx, this);
        this.getUserInfo = getUserInfo.getUserInfoFactory(ctx, this);
        this.inviteUserToGroups = inviteUserToGroups.inviteUserToGroupsFactory(ctx, this);
        this.joinGroupInviteBox = joinGroupInviteBox.joinGroupInviteBoxFactory(ctx, this);
        this.joinGroupLink = joinGroupLink.joinGroupLinkFactory(ctx, this);
        this.keepAlive = keepAlive.keepAliveFactory(ctx, this);
        this.lastOnline = lastOnline.lastOnlineFactory(ctx, this);
        this.leaveGroup = leaveGroup.leaveGroupFactory(ctx, this);
        this.lockPoll = lockPoll.lockPollFactory(ctx, this);
        this.parseLink = parseLink.parseLinkFactory(ctx, this);
        this.rejectFriendRequest = rejectFriendRequest.rejectFriendRequestFactory(ctx, this);
        this.removeFriend = removeFriend.removeFriendFactory(ctx, this);
        this.removeFriendAlias = removeFriendAlias.removeFriendAliasFactory(ctx, this);
        this.removeGroupBlockedMember = removeGroupBlockedMember.removeGroupBlockedMemberFactory(ctx, this);
        this.removeGroupDeputy = removeGroupDeputy.removeGroupDeputyFactory(ctx, this);
        this.removeQuickMessage = removeQuickMessage.removeQuickMessageFactory(ctx, this);
        this.removeReminder = removeReminder.removeReminderFactory(ctx, this);
        this.removeUnreadMark = removeUnreadMark.removeUnreadMarkFactory(ctx, this);
        this.removeUserFromGroup = removeUserFromGroup.removeUserFromGroupFactory(ctx, this);
        this.resetHiddenConversPin = resetHiddenConversPin.resetHiddenConversPinFactory(ctx, this);
        this.reuseAvatar = reuseAvatar.reuseAvatarFactory(ctx, this);
        this.reviewPendingMemberRequest = reviewPendingMemberRequest.reviewPendingMemberRequestFactory(ctx, this);
        this.searchSticker = searchSticker.searchStickerFactory(ctx, this);
        this.sendBankCard = sendBankCard.sendBankCardFactory(ctx, this);
        this.sendCard = sendCard.sendCardFactory(ctx, this);
        this.sendDeliveredEvent = sendDeliveredEvent.sendDeliveredEventFactory(ctx, this);
        this.sendFriendRequest = sendFriendRequest.sendFriendRequestFactory(ctx, this);
        this.sendLink = sendLink.sendLinkFactory(ctx, this);
        this.sendMessage = sendMessage.sendMessageFactory(ctx, this);
        this.sendReport = sendReport.sendReportFactory(ctx, this);
        this.sendSeenEvent = sendSeenEvent.sendSeenEventFactory(ctx, this);
        this.sendSticker = sendSticker.sendStickerFactory(ctx, this);
        this.sendTypingEvent = sendTypingEvent.sendTypingEventFactory(ctx, this);
        this.sendVideo = sendVideo.sendVideoFactory(ctx, this);
        this.sendVoice = sendVoice.sendVoiceFactory(ctx, this);
        this.setHiddenConversations = setHiddenConversations.setHiddenConversationsFactory(ctx, this);
        this.setMute = setMute.setMuteFactory(ctx, this);
        this.setPinnedConversations = setPinnedConversations.setPinnedConversationsFactory(ctx, this);
        this.sharePoll = sharePoll.sharePollFactory(ctx, this);
        this.unblockUser = unblockUser.unblockUserFactory(ctx, this);
        this.undo = undo.undoFactory(ctx, this);
        this.undoFriendRequest = undoFriendRequest.undoFriendRequestFactory(ctx, this);
        this.updateActiveStatus = updateActiveStatus.updateActiveStatusFactory(ctx, this);
        this.updateArchivedChatList = updateArchivedChatList.updateArchivedChatListFactory(ctx, this);
        this.updateAutoDeleteChat = updateAutoDeleteChat.updateAutoDeleteChatFactory(ctx, this);
        this.updateAutoReply = updateAutoReply.updateAutoReplyFactory(ctx, this);
        this.updateCatalog = updateCatalog.updateCatalogFactory(ctx, this);
        this.updateGroupSettings = updateGroupSettings.updateGroupSettingsFactory(ctx, this);
        this.updateHiddenConversPin = updateHiddenConversPin.updateHiddenConversPinFactory(ctx, this);
        this.updateLabels = updateLabels.updateLabelsFactory(ctx, this);
        this.updateLang = updateLang.updateLangFactory(ctx, this);
        this.updateProductCatalog = updateProductCatalog.updateProductCatalogFactory(ctx, this);
        this.updateProfile = updateProfile.updateProfileFactory(ctx, this);
        this.updateProfileBio = updateProfileBio.updateProfileBioFactory(ctx, this);
        this.updateQuickMessage = updateQuickMessage.updateQuickMessageFactory(ctx, this);
        this.updateSettings = updateSettings.updateSettingsFactory(ctx, this);
        this.upgradeGroupToCommunity = upgradeGroupToCommunity.upgradeGroupToCommunityFactory(ctx, this);
        this.uploadAttachment = uploadAttachment.uploadAttachmentFactory(ctx, this);
        this.uploadProductPhoto = uploadProductPhoto.uploadProductPhotoFactory(ctx, this);
        this.votePoll = votePoll.votePollFactory(ctx, this);
        this.custom = custom.customFactory(ctx, this);
    }
}

exports.API = API;
