import { Observable } from 'rxjs'; export declare type ALL = '__ALL__'; export declare type Options = { onCycle(chain: (keyof Messages | ALL)[]): void; isDevMode: boolean; }; export declare class Emitter { private emitterState; constructor(options?: Partial>); /** * Emit an event (silently fails if no listeners are hooked up yet) */ emit(key: K, value: Messages[K]): this; /** * Subscribe to an event */ on(key: K): Observable; /** * Subscribe to all events */ all(): Observable; private createChannel; private deleteChannel; private emitOnChannel; private hasChannel; }