import { ServerHandlerClosure, ServerHandlerItem } from "../../Types/global"; import Message from "../Message"; declare class HandlersMixin { protected handlers: ServerHandlerItem[]; /** * 获取所有处理器 * @returns */ getHandlers(): ServerHandlerItem[]; /** * 创建处理器项 * @param handler * @returns */ createHandlerItem(handler: ServerHandlerClosure): ServerHandlerItem; /** * 计算处理器hash * @param handler * @returns */ protected getHandlerHash(handler: ServerHandlerClosure): string; /** * 从后添加处理器 * @param handler */ with(handler: ServerHandlerClosure): this; /** * 从后添加处理器 * @param handler */ withHandler(handler: ServerHandlerClosure): this; /** * 从前添加处理器 * @param handler */ prepend(handler: ServerHandlerClosure): this; /** * 从前添加处理器 * @param handler */ prependHandler(handler: ServerHandlerClosure): this; /** * 删除处理器 * @param handler */ without(handler: ServerHandlerClosure): this; /** * 删除处理器 * @param handler */ withoutHandler(handler: ServerHandlerClosure): this; /** * 获取处理器的索引 * @param handler * @returns */ indexOf(handler: ServerHandlerClosure): number; /** * 当 value 为true或者返回true时,添加处理器 * @param value * @param handler * @returns */ when(value: boolean | Function | Promise, handler: ServerHandlerClosure): this; /** * 执行处理器 * @param result * @param payload * @returns */ handle(result: any, payload: Message): Promise; /** * 判断处理器是否已存在 * @param handler * @returns */ has(handler: ServerHandlerClosure): boolean; } export = HandlersMixin;