export interface Callback { (arg: any): void; } export interface EventListeners { [event: string]: Array; } export interface EventManager { on(type: string, callback: Callback): void; off(type: string, callback: Callback): void; emit(type: string, arg: T): void; } export declare class SimpleEventManager implements EventManager { private readonly eventListeners; on(type: string, callback: (arg: T) => void): void; off(type: string, callback: (arg: T) => void): void; emit(type: string, arg: T): void; } export declare const eventManagers: Array; export declare function setDefaultEventManager(events: EventManager): void;