import { RendererFactory2 } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { LoggerService } from '../logger/logger.service';
import { LoginService } from '../login/login.service';
import { UtilService } from '../util/util.service';
import * as i0 from "@angular/core";
interface DisclaimerPopup {
    header: string;
    message: string;
}
interface HeaderConfig {
    showLanguageToggle: boolean;
    showMinimizeButton: boolean;
    showExpandButton: boolean;
    showReloadButton: boolean;
}
interface CustomData {
    connectingMessage: string;
    hoverMessage: string;
    botState: string;
    showCollectUserDetailForm: boolean;
    showDisclaimerPopUp: boolean;
    showChatBubbleAtClosed: boolean;
    botAvatarImageName: string;
    botIconImageName: string;
    formBannerPath: string;
    rootFilePath: string;
    supportedLanguages: string[];
    initialLanguage: string;
    disclaimerPopup: DisclaimerPopup;
    headerConfig: HeaderConfig;
}
export declare class ChatbotService {
    private logger;
    private ls;
    private util;
    map: Map<string, CustomData>;
    msCustomData: CustomData;
    meCustomData: CustomData;
    ctCustomData: CustomData;
    botOptions: any;
    koreBot: any;
    initChatbot: BehaviorSubject<Boolean>;
    private renderer;
    showChatbot: boolean;
    constructor(rendererFactory: RendererFactory2, logger: LoggerService, ls: LoginService, util: UtilService);
    getChatbotBs(): BehaviorSubject<Boolean>;
    initialize(): void;
    loadScripAndStyle(): void;
    initializeChatbot(): void;
    /***
     *
     * @description Initialize the chatbot with logged-in user. If user is not logged-in then bot session will be created using unique timestamp.
     */
    openbot(): void;
    assertion(options: any, callback: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChatbotService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ChatbotService>;
}
export {};
//# sourceMappingURL=chatbot.service.d.ts.map