import type { Observable } from 'rxjs';
export interface IEventMessage {
    key: string;
    payload: any;
}
/**
 * Simple message bus, allowing events to be picked up across disparate components
 */
export declare class EventBus {
    private static message$;
    /**
     * Creates a new observable of all future message payloads published with the specified key
     * @param {string} key
     * @return {Observable<any>}
     */
    static observe<T>(key: string): Observable<T>;
    /**
     * Publishes a message with the supplied payload for any observer to pick up
     * @param {string} key
     * @param payload
     */
    static publish(key: string, payload: any): void;
}
