///
import EventEmitter from 'events';
type EventsOf = keyof T & string;
type ListenerFunc> = T[E] extends (...args: any[]) => void ? T[E] : never;
type ListenerArgs> = T[E] extends (...args: infer A) => void ? A : never;
export default class SafeEmitter extends EventEmitter {
addListener>(event: E, listener: ListenerFunc): this;
on>(event: E, listener: ListenerFunc): this;
once>(event: E, listener: ListenerFunc): this;
emit>(event: E, ...args: ListenerArgs): boolean;
removeListener>(event: E, listener: ListenerFunc): this;
removeAllListeners>(event?: E): this;
removeListeners>(event?: E): this;
}
export {};
//# sourceMappingURL=SafeEmitter.d.ts.map