export type TEventEmitterEvent = Record<string, (...args: any[]) => void>;
export interface IEventEmitter<Events extends TEventEmitterEvent> {
    on<E extends keyof Events>(event: E, listener: Events[E]): this;
    once<E extends keyof Events>(event: E, listener: Events[E]): this;
    emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
    removeAllListeners<E extends keyof Events>(event?: E): this;
    removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
}
//# sourceMappingURL=event-emitter.d.ts.map