import { EventEmitter } from 'events';
type EventMap<T> = Record<keyof T, unknown[]>;
type Event<T extends EventMap<T>> = ReturnType<EventEmitter<T>['eventNames']>[number];
type EventArgs<T extends EventMap<T>, K> = K extends keyof T ? T[K] : never;
export declare class AsyncEventEmitter<T extends EventMap<T>> extends EventEmitter<T> {
    onceAsync<K extends Event<T>>(eventName: K, signal?: AbortSignal): Promise<EventArgs<T, K>>;
}
export {};
//# sourceMappingURL=async-eventemitter.d.ts.map