import { Config, MessageOptions } from './types';
export declare class Messenger {
    private broker;
    private static instance;
    config: Config;
    static getInstance(): Messenger;
    private constructor();
    static init(config: Config): void;
    init(config: Config): void;
    static publish(type: string, data: any, options?: MessageOptions): void;
    publish(type: string, data: any, options?: MessageOptions): void;
    static broadcast(type: string, data: any): void;
    broadcast(type: string, data: any): void;
    static invoke<T>(type: string, data: any, options?: MessageOptions): Promise<any>;
    invoke<T>(type: string, data: any, options?: MessageOptions): Promise<any>;
    static close(): Promise<void>;
    close(): Promise<void>;
}
