/** */ export declare type Callback = (event: E) => void; export interface CMSEvent { type: string; [key: string]: any; } export declare class EventBus { private listeners; subscribe(event: E['type'] | E['type'][], callback: Callback): () => void; dispatch(event: E): void; } export declare class Listener { private eventPattern; private callback; constructor(eventPattern: E['type'], callback: Callback); handleEvent(event: E): boolean; watchesEvent(currentEvent: E): boolean; }