/** * 事件定义 */ export declare type EventDefinition = Record void>; /** * 事件模型 */ export default class EventEmitter { /** 处理函数集合 */ private _handlersMap; constructor(eventTypes: (keyof EvtDef)[]); /** * 判断有没有相关事件类型 */ hasType(eventType: string): boolean; /** * 注册事件 */ on(event: K, handler: EvtDef[K]): void; /** * 取消事件 */ off(event: K, handler: EvtDef[K]): void; /** * 触发事件 */ emit(event: K, ...args: Parameters): void; }