import type { IEventRecord, NextEventStrict, NextEventSyncStrict, TypeEventHandler, TypeEventHandlers, TypeEventOff } from '../../types/interface/event.js'; import { BeanSimple } from '../../bean/beanSimple.ts'; export declare class AppEvent extends BeanSimple { private eventHandlersMap; getEventHandlers(eventName: K): TypeEventHandlers; emit(eventName: K, data?: IEventRecord[K]['data'], nextOrDefault?: NextEventStrict | IEventRecord[K]['result']): Promise; emitSync(eventName: K, data?: IEventRecord[K]['data'], nextOrDefault?: NextEventSyncStrict | IEventRecord[K]['result']): IEventRecord[K]['result']; on(eventName: K, fn: TypeEventHandler): TypeEventOff; once(eventName: K, fn: TypeEventHandler): TypeEventOff; } //# sourceMappingURL=event.d.ts.map