/**
 * Event Emitter
 *
 * Browser-compatible EventEmitter with a Node.js-like API surface.
 * Kept lightweight and allocation-lean for hot paths.
 */
export type EventListener = (...args: any[]) => void;
export declare class EventEmitter {
    readonly __excelts_stream: true;
    private _listeners;
    private _maxListeners;
    static defaultMaxListeners: number;
    addListener(event: string | symbol, listener: EventListener): this;
    private _listenerCount;
    private _hasListeners;
    on(event: string | symbol, listener: EventListener): this;
    prependListener(event: string | symbol, listener: EventListener): this;
    once(event: string | symbol, listener: EventListener): this;
    prependOnceListener(event: string | symbol, listener: EventListener): this;
    removeListener(event: string | symbol, listener: EventListener): this;
    off(event: string | symbol, listener: EventListener): this;
    emit(event: string | symbol, ...args: any[]): boolean;
    removeAllListeners(event?: string | symbol): this;
    listenerCount(event: string | symbol): number;
    listeners(event: string | symbol): EventListener[];
    rawListeners(event: string | symbol): EventListener[];
    eventNames(): (string | symbol)[];
    setMaxListeners(n: number): this;
    getMaxListeners(): number;
}
