/** * XYLink Event Emitter * * @authors Luo-jinghui (luojinghui424@gmail.com) * @date 2019-10-17 19:14:39 */ export declare class XYEmitter { private eventMap; /** * 监听事件 * * @param { string } key - 事件Key * @param { Function } listener - 事件回调函数 * @param { number? } total - 可选,回调函数出发次数,默认是-1,表示无限制 */ on(key: T, listener: Function, total?: number): void; once(key: T, listener: Function, total?: number): void; /** * 移除指定事件的监听器 * * @param { string } key - 事件Key */ removeListener(key: T): void; /** * 移除指定事件和监听器 * * @param { string } key - 事件Key * @param { Function } event - 事件回调函数 */ removeEventListener(key: T, event: any): void; /** * 移除所有监听器 */ removeAllListener(): void; /** * 触发事件 * * @param { string } key - 事件Key * @param { T[] } args - 事件数据 */ emit(key: T, ...args: U[]): void; }