/**
 * Simple EventEmitter implementation for video status notifications
 */
type Listener = (...args: any[]) => void;
/**
 * Simple EventEmitter implementation that allows subscribing to events and emitting events
 */
export declare class EventEmitter {
    private events;
    /**
     * Subscribe to an event
     * @param event Event name
     * @param listener Function to call when event is emitted
     * @returns Unsubscribe function
     */
    on(event: string, listener: Listener): {
        unsubscribe: () => void;
    };
    /**
     * Emit an event with data
     * @param event Event name
     * @param args Arguments to pass to listeners
     */
    emit(event: string, ...args: any[]): void;
    /**
     * Remove all listeners for an event or all events
     * @param event Optional event name, if not provided, all events are cleared
     */
    removeAllListeners(event?: string): void;
    /**
     * Check if an event has listeners
     * @param event Event name
     * @returns True if the event has listeners
     */
    hasListeners(event: string): boolean;
}
export {};
//# sourceMappingURL=eventEmitter.d.ts.map