import { EventDataMap, EventType } from './lifecycle-events'; export type AsyncEventListener = (event: T, eventName: string | symbol) => Promise | void; export declare class AsyncEventEmitter { private listenerWrapperMap; private listenerMap; emitAsync(eventName: K, event: EventDataMap[K]): Promise; emitAsync(eventName: string | symbol, event: unknown): Promise; on(eventName: K, listener: AsyncEventListener): AsyncEventEmitter; on(eventName: string | symbol, listener: AsyncEventListener): AsyncEventEmitter; once(eventName: K, listener: AsyncEventListener): AsyncEventEmitter; once(eventName: string | symbol, listener: AsyncEventListener): AsyncEventEmitter; removeListener(eventName: string | symbol, listener: AsyncEventListener): AsyncEventEmitter; off: (eventName: string | symbol, listener: AsyncEventListener) => AsyncEventEmitter; }