import { AugnitoAppNotification, AugnitoMobileSocketResponse } from '../support/AugnitoMobileSocketResponse';
import { SDKConfigMobile } from '../config/SDKConfigMobile';
export declare class NotificationClient {
    private _config;
    private _logTag;
    /** Callback when a mobile client is requesting to connect */
    onConnectionRequest?: (augnitoResponse: AugnitoMobileSocketResponse) => void;
    /** Callback when a mobile client has scanned the QR Code */
    onMobileScan?: () => void;
    /** Callback when vocabulary has been added to the model **/
    onVocabularyAdded?: (notification: AugnitoAppNotification) => void;
    private _pushNotificationSocket;
    get notificationSocket(): WebSocket | null;
    constructor(_config: SDKConfigMobile);
    Send(message: string): void;
    ensureNotificationClientConnected(): void;
    createNotificationClient(): void;
    private createNotificationSocket;
    closeMobileWebSocket(): boolean;
    dispose(): void;
    private onMobileScanCallback;
    private onVocabularyAddedCallback;
    private onConnectionRequestCallback;
    getReplyMessage(JSONResponse: AugnitoMobileSocketResponse, messageType: string): string;
}
