import type { IEventEmitter } from './IEventEmitter.js'; /** * EventEmitter base class */ export declare class EventEmitter implements IEventEmitter { /** * Lazily allocated on first `on`/`once` call. The vast majority of nodes in * a scene graph never have a listener attached, so deferring the map avoids * one object allocation per instance and keeps the hidden class smaller. * `null` means no listeners have ever been registered. */ private eventListeners; on(event: string, listener: (target: any, data: any) => void): void; off(event: string, listener?: (target: any, data: any) => void): void; once(event: string, listener: (target: any, data: any) => void): void; emit(event: string, data?: any): void; /** * Whether any listener is currently registered for any event. * * @remarks * Used as a liveness signal: a `Texture` with no listeners has no * `CoreNode` (or `SubTexture`) subscribed to it. */ hasListeners(): boolean; removeAllListeners(): void; }