import { EventEmitter } from 'eventemitter3';
import { QChatServerAcceptApplyParam, QChatServerAcceptApplyResp, QChatServerAcceptInviteParam, QChatServerAcceptInviteResp, QChatServerApplyParam, QChatServerApplyResp, QChatServerBanMemberParam, QChatServerBanMemberResp, QChatServerCreateParam, QChatServerCreateResp, QChatServerDeleteParam, QChatServerDeleteResp, QChatServerEnterAsVisitorParam, QChatServerEnterAsVisitorResp, QChatServerGenerateInviteCodeParam, QChatServerGenerateInviteCodeResp, QChatServerGetBannedMembersPageParam, QChatServerGetBannedMembersPageResp, QChatServerGetInviteApplyRecordOfSelfParam, QChatServerGetInviteApplyRecordOfSelfResp, QChatServerGetInviteApplyRecordOfServerParam, QChatServerGetInviteApplyRecordOfServerResp, QChatServerGetMembersPageParam, QChatServerGetMembersPageResp, QChatServerGetMembersParam, QChatServerGetMembersResp, QChatServerGetServersPageParam, QChatServerGetServersPageResp, QChatServerGetServersParam, QChatServerGetServersResp, QChatServerInviteParam, QChatServerInviteResp, QChatServerJoinByInviteCodeParam, QChatServerJoinByInviteCodeResp, QChatServerKickParam, QChatServerKickResp, QChatServerLeaveAsVisitorParam, QChatServerLeaveAsVisitorResp, QChatServerLeaveParam, QChatServerLeaveResp, QChatServerMarkReadParam, QChatServerMarkReadResp, QChatServerMemberSearchParam, QChatServerMemberSearchResp, QChatServerRejectApplyParam, QChatServerRejectApplyResp, QChatServerRejectInviteParam, QChatServerRejectInviteResp, QChatServerSearchPageParam, QChatServerSearchPageResp, QChatServerSubscribeAllChannelParam, QChatServerSubscribeAllChannelResp, QChatServerSubscribeAsVisitorParam, QChatServerSubscribeAsVisitorResp, QChatServerSubscribeParam, QChatServerSubscribeResp, QChatServerUnbanMemberParam, QChatServerUnbanMemberResp, QChatServerUnreadResp, QChatServerUpdateMemberInfoParam, QChatServerUpdateMemberInfoResp, QChatServerUpdateParam, QChatServerUpdateResp } from '../qchat_def/server_def';
export declare interface QChatServerEvents {
    /** 服务器未读数 */
    unread: [QChatServerUnreadResp];
}
export declare class QChatServerModule extends EventEmitter<QChatServerEvents> {
    instance: any;
    constructor();
    /** 注册全局回调 */
    initEventHandlers(): void;
    /** @fn createServer(param: QChatServerCreateParam)
     * 创建服务器
     * @param[in] param 接口参数
     * @return void
     */
    createServer(param: QChatServerCreateParam): Promise<QChatServerCreateResp>;
    /** @fn deleteServer(param: QChatServerDeleteParam)
     * 删除服务器
     * @param[in] param 接口参数
     * @return void
     */
    deleteServer(param: QChatServerDeleteParam): Promise<QChatServerDeleteResp>;
    /** @fn updateServer(param: QChatServerUpdateParam)
     * 更新服务器
     * @param[in] param 接口参数
     * @return void
     */
    updateServer(param: QChatServerUpdateParam): Promise<QChatServerUpdateResp>;
    /** @fn enterAsVisitor(param: QChatServerEnterAsVisitorParam)
     * 以游客身份进入服务器
     * @param[in] param 接口参数
     * @return void
     */
    enterAsVisitor(param: QChatServerEnterAsVisitorParam): Promise<QChatServerEnterAsVisitorResp>;
    /** @fn leaveAsVisitor(param: QChatServerLeaveAsVisitorParam)
     * 以游客身份离开服务器
     * @param[in] param 接口参数
     * @return void
     */
    leaveAsVisitor(param: QChatServerLeaveAsVisitorParam): Promise<QChatServerLeaveAsVisitorResp>;
    /** @fn subscribe(param: QChatServerSubscribeParam)
     * 订阅指定服务器下的系统通知消息
     * @param[in] param 接口参数
     * @return void
     */
    subscribe(param: QChatServerSubscribeParam): Promise<QChatServerSubscribeResp>;
    /** @fn subscribeAsVisitor(param: QChatServerSubscribeAsVisitorParam)
     * 以游客模式订阅服务器下的系统通知消息
     * @param[in] param 接口参数
     * @return void
     */
    subscribeAsVisitor(param: QChatServerSubscribeAsVisitorParam): Promise<QChatServerSubscribeAsVisitorResp>;
    /** @fn subscribeAllChannel(param: QChatServerSubscribeAllChannelParam)
     * 订阅服务器下所有频道的消息
     * @param[in] param 接口参数
     * @return void
     */
    subscribeAllChannel(param: QChatServerSubscribeAllChannelParam): Promise<QChatServerSubscribeAllChannelResp>;
    /** @fn void MarkRead(const QChatServerMarkReadParam& param)
     * 标记服务器下所有频道的消息为已读
     * @param[in] param 接口参数
     * @return void
     */
    markRead(param: QChatServerMarkReadParam): Promise<QChatServerMarkReadResp>;
    /** @fn getServers(param: QChatServerGetServersParam)
     * 查询服务器列表
     * @param[in] param 接口参数
     * @return void
     */
    getServers(param: QChatServerGetServersParam): Promise<QChatServerGetServersResp>;
    /** @fn getServersByPage(param: QChatServerGetServersPageParam)
     * 查询服务器列表(分页)
     * @param[in] param 接口参数
     * @return void
     */
    getServersByPage(param: QChatServerGetServersPageParam): Promise<QChatServerGetServersPageResp>;
    /** @fn invite(param: QChatServerInviteParam)
     * 邀请用户加入服务器
     * @param[in] param 接口参数
     * @return void
     */
    invite(param: QChatServerInviteParam): Promise<QChatServerInviteResp>;
    /** @fn acceptInvite(param: QChatServerAcceptInviteParam)
     * 接受加入服务器邀请
     * @param[in] param 接口参数
     * @return void
     */
    acceptInvite(param: QChatServerAcceptInviteParam): Promise<QChatServerAcceptInviteResp>;
    /** @fn rejectInvite(param: QChatServerRejectInviteParam)
     * 拒绝加入服务器邀请
     * @param[in] param 接口参数
     * @return void
     */
    rejectInvite(param: QChatServerRejectInviteParam): Promise<QChatServerRejectInviteResp>;
    /** @fn apply(param: QChatServerApplyParam)
     * 申请加入服务器
     * @param[in] param 接口参数
     * @return void
     */
    apply(param: QChatServerApplyParam): Promise<QChatServerApplyResp>;
    /** @fn acceptApply(param: QChatServerAcceptApplyParam)
     * 同意加入服务器申请
     * @param[in] param 接口参数
     * @return void
     */
    acceptApply(param: QChatServerAcceptApplyParam): Promise<QChatServerAcceptApplyResp>;
    /** @fn rejectApply(param: QChatServerRejectApplyParam)
     * 拒绝加入服务器申请
     * @param[in] param 接口参数
     * @return void
     */
    rejectApply(param: QChatServerRejectApplyParam): Promise<QChatServerRejectApplyResp>;
    /** @fn kick(param: QChatServerKickParam)
     * 将指定用户踢出服务器
     * @param[in] param 接口参数
     * @return void
     */
    kick(param: QChatServerKickParam): Promise<QChatServerKickResp>;
    /** @fn leave(param: QChatServerLeaveParam)
     * 离开指定服务器
     * @param[in] param 接口参数
     * @return void
     */
    leave(param: QChatServerLeaveParam): Promise<QChatServerLeaveResp>;
    /** @fn updateMemberInfo(param: QChatServerUpdateMemberInfoParam)
     * 更新服务器成员信息
     * @param[in] param 接口参数
     * @return void
     */
    updateMemberInfo(param: QChatServerUpdateMemberInfoParam): Promise<QChatServerUpdateMemberInfoResp>;
    /** @fn getServerMembers(param: QChatServerGetMembersParam)
     * 查询服务器成员列表
     * @param[in] param 接口参数
     * @return void
     */
    getServerMembers(param: QChatServerGetMembersParam): Promise<QChatServerGetMembersResp>;
    /** @fn getServerMembersByPage(param: QChatServerGetMembersPageParam)
     * 查询服务器成员列表(分页)
     * @param[in] param 接口参数
     * @return void
     */
    getServerMembersByPage(param: QChatServerGetMembersPageParam): Promise<QChatServerGetMembersPageResp>;
    /** @fn banMember(param: QChatServerBanMemberParam)
     * 封禁服务器成员
     * @param[in] param 接口参数
     * @return void
     */
    banMember(param: QChatServerBanMemberParam): Promise<QChatServerBanMemberResp>;
    /** @fn unbanMember(param: QChatServerUnbanMemberParam)
     * 解封服务器成员
     * @param[in] param 接口参数
     * @return void
     */
    unbanMember(param: QChatServerUnbanMemberParam): Promise<QChatServerUnbanMemberResp>;
    /** @fn getBannedMembersByPage(param: QChatServerGetBannedMembersPageParam)
     * 查询服务器封禁成员列表(分页)
     * @param[in] param 接口参数
     * @return void
     */
    getBannedMembersByPage(param: QChatServerGetBannedMembersPageParam): Promise<QChatServerGetBannedMembersPageResp>;
    /** @fn serverSearchByPage(param: QChatServerSearchPageParam)
     * 根据关键字搜索服务器(分页)
     * @param[in] param 接口参数
     * @return void
     */
    serverSearchByPage(param: QChatServerSearchPageParam): Promise<QChatServerSearchPageResp>;
    /** @fn serverMemberSearch(param: QChatServerMemberSearchParam)
     * 根据关键字搜索服务器成员
     * @param[in] param 接口参数
     * @return void
     */
    serverMemberSearch(param: QChatServerMemberSearchParam): Promise<QChatServerMemberSearchResp>;
    /** @fn generateInviteCode(param: QChatServerGenerateInviteCodeParam)
     * 生成服务器邀请码
     * @param[in] param 接口参数
     * @return void
     */
    generateInviteCode(param: QChatServerGenerateInviteCodeParam): Promise<QChatServerGenerateInviteCodeResp>;
    /** @fn joinByInviteCode(param: QChatServerJoinByInviteCodeParam)
     * 通过邀请码加入服务器
     * @param[in] param 接口参数
     * @return void
     */
    joinByInviteCode(param: QChatServerJoinByInviteCodeParam): Promise<QChatServerJoinByInviteCodeResp>;
    /** @fn getInviteApplyRecordOfServer(param: QChatServerGetInviteApplyRecordOfServerParam)
     * 查询服务器下邀请申请历史
     * @param[in] param 接口参数
     * @return void
     */
    getInviteApplyRecordOfServer(param: QChatServerGetInviteApplyRecordOfServerParam): Promise<QChatServerGetInviteApplyRecordOfServerResp>;
    /** @fn getInviteApplyRecordOfSelf(param: QChatServerGetInviteApplyRecordOfSelfParam)
     * 查询自己邀请申请历史
     * @param[in] param 接口参数
     * @return void
     */
    getInviteApplyRecordOfSelf(param: QChatServerGetInviteApplyRecordOfSelfParam): Promise<QChatServerGetInviteApplyRecordOfSelfResp>;
}
