import { Logger } from "freeathome-api/dist/lib/Logger";
import { Subscriber } from "freeathome-api/dist/lib/Subscriber";
export declare class GuardedClient {
    private logger;
    private errorSubscriber;
    private client;
    private _bwaToken;
    constructor(errorSubscriber: Subscriber, options?: any, logger?: Logger);
    /**
     *
     * @returns The BWA auth token for ws: and http(s):// authentification
     */
    getBWAToken(): String;
    on(event: string, fn: (a: any) => any): void;
    /**
     * Extend on-event method to guard execution and expose errors through broadcast messages.
     * @param event
     * @param fn
     */
    guardedOn(event: string, fn: (a: any) => any): void;
    send(stanza: any): Promise<any>;
    ping(): Promise<any>;
    start(): Promise<any>;
    stop(): Promise<any>;
    terminate(): Promise<any>;
    private broadCastError;
}
