import type { IEventEmitter } from "./EventEmitter";
/** A platform-independent implementation of `IEventEmitter`. */
export declare class DefaultEventEmitter implements IEventEmitter {
    private events;
    private eventCount;
    private addListenerCore;
    private removeListenerCore;
    private removeEvent;
    addListener: (eventName: string | symbol, listener: (...args: any[]) => void) => this;
    on(eventName: string | symbol, listener: (...args: any[]) => void): this;
    once(eventName: string | symbol, listener: (...args: any[]) => void): this;
    removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
    off: (eventName: string | symbol, listener: (...args: any[]) => void) => this;
    removeAllListeners(eventName?: string | symbol | undefined): this;
    listeners(eventName: string | symbol): Function[];
    listenerCount(eventName: string | symbol): number;
    eventNames(): (string | symbol)[];
    emit(eventName: string | symbol, arg0?: any, arg1?: any, arg2?: any, arg3?: any, ...moreArgs: any[]): boolean;
}
//# sourceMappingURL=DefaultEventEmitter.d.ts.map