/** * ZUI EventEmitter * A lightweight event emitter for component communication */ import type { EventCallback } from './types'; /** * EventEmitter class for handling component events */ export declare class EventEmitter { private listeners; private onceListeners; /** * Subscribe to an event * @param event - Event name * @param callback - Callback function * @returns Unsubscribe function */ on(event: string, callback: EventCallback): () => void; /** * Subscribe to an event once * @param event - Event name * @param callback - Callback function * @returns Unsubscribe function */ once(event: string, callback: EventCallback): () => void; /** * Unsubscribe from an event * @param event - Event name * @param callback - Callback function to remove */ off(event: string, callback: EventCallback): void; /** * Emit an event * @param event - Event name * @param data - Event data */ emit(event: string, data?: T): void; /** * Check if event has listeners * @param event - Event name */ hasListeners(event: string): boolean; /** * Get listener count for an event * @param event - Event name */ listenerCount(event: string): number; /** * Remove all listeners for an event or all events * @param event - Optional event name */ removeAllListeners(event?: string): void; /** * Get all event names */ eventNames(): string[]; } export declare const globalEventBus: EventEmitter; /** * Create a scoped event emitter with prefixed events * @param prefix - Event prefix */ export declare function createScopedEmitter(prefix: string): EventEmitter; //# sourceMappingURL=EventEmitter.d.ts.map