/** * 事件参数基类 */ export declare class EventArgs { /** 事件名称 */ eventName: string; /** 事件发生时间 */ readonly whenOccurred: Date; /** 事件参数 */ args: Record; /** * 创建一个事件参数实例 * @param eventName 事件名称,默认为空字符串 */ constructor(eventName?: string, args?: Record); } /** * 事件订阅句柄,用于标识和管理订阅 */ export declare class EventSubscription { private readonly _id; private _isActive; /** * @param _id 订阅ID * @param eventName 事件名称 * @param handler 事件处理函数 * @param priority 订阅优先级,数字越大优先级越高 */ private readonly _eventName; private readonly _handler; private readonly _priority; constructor(eventName: string, handler: (args: T) => void, priority?: number); get id(): string; get isActive(): boolean; get eventName(): string; getHandler(): (args: T) => void; get priority(): number; /** 取消订阅 */ cancel(): void; } import { EventEmitter } from 'events'; /** * 事件管理器单例类 * 继承自Node.js EventEmitter以获得更好的性能和标准API */ export declare class EventManager extends EventEmitter { private static _instance; private _subscriptions; /** 获取EventManager单例实例 */ static get instance(): EventManager; constructor(); /** * 注册一个事件处理器 * @param eventName 事件名称 * @param handler 事件处理函数 * @param priority 优先级,数字越大优先级越高 * @returns 订阅ID */ subscribe(eventName: string, handler: (args: T) => void | boolean | Promise, priority?: number): string; /** * 注册一个一次性事件处理器 * @param eventName 事件名称 * @param handler 事件处理函数 * @returns 订阅ID */ subscribeOnce(eventName: string, handler: (args: T) => void): string; /** * 取消订阅 * @param subscriptionId 订阅ID * @returns 是否成功取消订阅 */ unsubscribe(subscriptionId: string): boolean; /** * 广播事件 * @param eventName 事件名称 * @param args 事件参数 */ broadcast(eventName: string, args: T): Promise; /** * 清理所有订阅 */ dispose(): void; /** 初始化事件处理器 */ private _initializeEventHandlers; } //# sourceMappingURL=event-manager.d.ts.map