import ServerRequestInterface from '../Core/Http/Contracts/ServerRequestInterface'; import Encryptor from '../Core/Encryptor'; import ServerInterface from '../Core/Contracts/ServerInterface'; import Response from '../Core/Http/Response'; import Message from './Message'; import { ServerHandlerClosure } from '../Types/global'; declare class Server extends ServerInterface { protected encryptor: Encryptor; protected providerEncryptor: Encryptor; protected request: ServerRequestInterface; protected defaultSuiteTicketHandler: ServerHandlerClosure; constructor(encryptor: Encryptor, providerEncryptor: Encryptor, request?: ServerRequestInterface); /** * 服务端消息处理 * @returns */ serve(): Promise; withDefaultSuiteTicketHandler(handler: ServerHandlerClosure): this; /** * 设置联系人变化的消息处理器 * @param handler */ handleSuiteTicketRefreshed(handler: ServerHandlerClosure): this; /** * 设置授权成功的消息处理器 * @param handler */ handleAuthCreated(handler: ServerHandlerClosure): this; /** * 设置变更授权的消息处理器 * @param handler */ handleAuthUpdated(handler: ServerHandlerClosure): this; /** * 设置取消授权的消息处理器 * @param handler */ handleAuthCancelled(handler: ServerHandlerClosure): this; /** * 设置用户创建的消息处理器 * @param handler */ handleUserCreated(handler: ServerHandlerClosure): this; /** * 设置用户更新的消息处理器 * @param handler */ handleUserUpdated(handler: ServerHandlerClosure): this; /** * 设置用户删除的消息处理器 * @param handler */ handleUserDeleted(handler: ServerHandlerClosure): this; /** * 设置部门创建的消息处理器 * @param handler */ handlePartyCreated(handler: ServerHandlerClosure): this; /** * 设置部门更新的消息处理器 * @param handler */ handlePartyUpdated(handler: ServerHandlerClosure): this; /** * 设置部门删除的消息处理器 * @param handler */ handlePartyDeleted(handler: ServerHandlerClosure): this; /** * 设置用户标签变化的消息处理器 * @param handler */ handleUserTagUpdated(handler: ServerHandlerClosure): this; /** * 设置共享应用事件的消息处理器 * @param handler */ handleShareAgentChanged(handler: ServerHandlerClosure): this; /** * 设置重置永久授权码的消息处理器 * @param handler */ handleResetPermanentCode(handler: ServerHandlerClosure): this; /** * 设置应用管理员变更的消息处理器 * @param handler */ handleChangeAppAdmin(handler: ServerHandlerClosure): this; /** * 获取来自微信服务器的推送消息 * @param request 未设置该参数时,则从当前服务端收到的请求中获取 * @returns */ getRequestMessage(request?: ServerRequestInterface): Promise; protected decryptRequestMessage(): ServerHandlerClosure; /** * 获取解密后的消息 * @param request 未设置该参数时,则从当前服务端收到的请求中获取 * @returns */ getDecryptedMessage(request?: ServerRequestInterface): Promise; } interface Server { with(next: ServerHandlerClosure): this; withHandler(next: ServerHandlerClosure): this; prepend(next: ServerHandlerClosure): this; prependHandler(next: ServerHandlerClosure): this; without(next: ServerHandlerClosure): this; withoutHandler(next: ServerHandlerClosure): this; } export = Server;