import { EventEmitter } from "../../../stencil-public-runtime";
import { SocketService } from "../../../utils/socket-service";
import { FeedbackPayload } from "../../../utils/analyticsService";
export declare class MyChat {
    private surveyCDNPath;
    private surveyScriptsLoaded;
    private element;
    chatId: string;
    chats: any;
    query: string;
    apiKey: string;
    aiMessageId: string;
    imgFiles: any;
    env: string;
    conversationId: string;
    dataAttributes: any;
    chatExcludeTags: Array<string>;
    chatIncludeTags: Array<string>;
    target: string;
    voiceType: string;
    voice: string;
    componentType: string;
    chatPosition: string;
    socketIn: SocketService;
    customstyle: string;
    customJS: string;
    avatarUrl: string;
    settings: any;
    scrollBottom: any;
    copied: boolean;
    isPlayed: boolean;
    buttons: Array<{
        id: string;
        label: string;
    }>;
    itemList: any;
    currentChatData: any;
    currentTemplate: any;
    currentPage: number;
    currentResponse: any;
    currentSlide: number;
    scriptArray: any[];
    isProse: boolean;
    isProcessingEndResponse: boolean;
    surveyDomId: string;
    focusedIndex: number;
    private chatItemRefs;
    feedback: EventEmitter;
    survey: EventEmitter;
    stateChanged: EventEmitter;
    messageReceived: EventEmitter<{
        data: string;
        domId: string;
    }>;
    formSubmitted: EventEmitter<any>;
    private styles;
    private audioElement;
    handleChatKeyNav(e: KeyboardEvent, idx: number): void;
    componentDidLoad(): void;
    private loadScriptsSequentially;
    private loadScript;
    loadStyles(): void;
    private scrollToLatestBubble;
    componentWillLoad(): void;
    hydrateMessagesFromState(): Promise<void>;
    disconnectedCallback(): void;
    watchHandler(_newValue: any, _oldValue: any): void;
    private getProjectId;
    streamResponseHandler(event: CustomEvent): void;
    renderSurvey(surveyData: any): Promise<void>;
    handleSurveyCompletionRender(processedResults: any): void;
    endResponseHandler(event: CustomEvent): void;
    checkHighlightcode(highlightcodeId?: string): void;
    buttonClickHandler(event: CustomEvent): void;
    private get mainObject();
    generateUUID(): string;
    getUpdatedChat: (data: any, message: any) => {
        message: any;
        type: string;
        status: string;
        insightId: any;
        id: string;
        thumbsId: string;
        controlType: any;
    };
    updateChatMessage: (newMessage: any, _data: any) => void;
    processChatData(chatData: any, data: any): Promise<void>;
    addEventforReadMore(): void;
    handlePrev: () => void;
    handleNext: () => void;
    addEventforPanel(_template: any, _query: any): void;
    handleIndicatorClick(index: number): void;
    updateCarousel(): void;
    renderPagination(templateType: any): {
        context: any;
        end: any;
    };
    addEventforPagination(end: any): void;
    addEventforcardButton(query: any, template: any): void;
    processTemplateData(chatData: any, data: any, _inputType: any): Promise<void>;
    renderTemplateData(chatData: any): void;
    initializeScript(id: any): void;
    hideSpinner(chatData: any): Promise<unknown>;
    waitForElementRender(selector: string): Promise<void>;
    waitForElementToAdd(element: HTMLElement): Promise<void>;
    invokeSocket(): Promise<void>;
    addEventListeners(msgId: any): void;
    handleButtonClick: (label: string) => (_event: Event) => void;
    handleMessage: (data: any, aiMessageId: any) => void;
    stopStreamInputHandler(_state: any): void;
    startStreamInputHandler(_state: any): void;
    highlightcode(): void;
    scrollToBottom: () => void;
    disableFeedback: (id: string) => void;
    thumbsUp: (id: string, insightId: string, payload: FeedbackPayload) => void;
    thumbsDown: (id: string, insightId: string, payload: FeedbackPayload) => void;
    copyToClipboard(text: string): void;
    removeHtmlTags(text: string): string;
    speakText(msg: string): Promise<void>;
    base64ToBlob(base64: string, mimeType: string): Blob;
    render(): any;
}
