/// <reference types="node" />
import EventEmitter from 'events';
interface ListenerData {
    event: string | symbol;
    id: string | null;
    listener: (...args: any[]) => void;
}
declare class ExpandedEventEmitter extends EventEmitter {
    private idListeners;
    constructor();
    on(event: string | symbol, listener: (...args: any[]) => void): this;
    addListener(event: string | symbol, listener: (...args: any[]) => void): this;
    once(event: string | symbol, listener: (...args: any[]) => void): this;
    prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
    prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
    getIDListenersData(id: string, event?: string): ListenerData[];
    getIDListeners(id: string, event?: string): ((...args: any[]) => void)[];
    removeIDListeners(id: string): this;
    private _splitID;
}
export = ExpandedEventEmitter;
