import { Observable } from 'rxjs';
export interface EventData {
    type: string;
    data: any;
}
export declare class EventManager {
    private stream$;
    private logger;
    /**
     * Add a listener filtered on type
     *
     * @param  {string} type
     * @returns Observable
     */
    on(type: string): Observable<EventData>;
    /**
     * Emit data for type
     *
     * @param  {string} type
     * @param  {any} data
     * @returns void
     */
    emit(type: string, data: any): void;
    /**
     * Close the stream event
     *
     * @returns void
     */
    close(): void;
}
