import type { IEventEmitter } from './IEventEmitter.js';
export type EventListener = (target: any, data: any) => void;
/**
 * EventEmitter base class
 */
export declare class EventEmitter implements IEventEmitter {
    protected eventListeners: {
        [eventName: string]: EventListener[];
    };
    on(event: string, listener: EventListener): void;
    off(event: string, listener?: EventListener): void;
    once(event: string, listener: EventListener): void;
    emit(event: string, data?: any): void;
    removeAllListeners(): void;
}
