type EventCallback = {
    (...args: any[]): any;
};
declare class EventBus<E = any> {
    private listeners;
    on(eventName: E, callback: EventCallback): void;
    emit<T = any>(eventName: E, data?: T): void;
}
declare function createEventBus<E>(): EventBus<E>;
export { createEventBus };
