import { EventEmitter } from "../../stencil-public-runtime";
import { FeedbackPayload } from "../../utils/analyticsService";
export declare class Ai12zKnowledgeBox {
    private el;
    dataKey: string;
    dataMode: string;
    configId: string;
    question: string;
    socket: any;
    isLoading: boolean;
    questionId: any;
    private isInitialized;
    kbSettings: any;
    searchResults: any;
    items: any[];
    error: any;
    domId: string;
    surveyDomId: string;
    buttons: Array<{
        id: string;
        label: string;
    }>;
    currentStreamingText: string;
    isStreaming: boolean;
    finalResponse: boolean;
    scriptArray: any[];
    showButton: boolean;
    welcomeReady: boolean;
    messageReceived: EventEmitter<{
        data: any;
        domId: string;
    }>;
    messageSent: EventEmitter<{
        data: any;
    }>;
    errored: EventEmitter;
    initializeScripts: EventEmitter<{
        id: string;
    }>;
    private cdnPath;
    private get mainObject();
    sendMessage(message: string, _displayText?: string): Promise<void>;
    sendJSON(jsonData: Object, _displayText?: string): Promise<void>;
    initializeScript: (id: any) => void;
    componentDidLoad(): void;
    getConfig(): void;
    getResults(type: any): void;
    watchPropHandler(newValue: boolean, oldValue: boolean): void;
    watchStateHandler(_newValue: boolean, _oldValue: boolean): void;
    updateResponseContent: (htmlContent: string) => void;
    alertResults: (sender: any) => void;
    renderSurvey: (chat: any) => Promise<void>;
    addEventListeners(msgId: any): void;
    handleButtonClick: (label: string) => (_event: Event) => void;
    componentWillLoad(): void;
    disconnectedCallback(): void;
    socketConnection(): Promise<void>;
    invokeSocket(): void;
    handleMessage: (data: any, _aiMessageId: any) => void;
    removeClass: (className: any, elem: any, type: any) => void;
    clearThumbsHistory: () => void;
    thumbsUp: (id: string, payload: FeedbackPayload) => void;
    thumbsDown: (id: string, payload: FeedbackPayload) => void;
    disableFeedback: (id: string) => void;
    handleControlTypes(finalHtml: string, data: any): Promise<void>;
    handleFormControl(data: any, output?: any): Promise<void>;
    handleTemplateControl(data: any, output: any, controlDomId: string): Promise<void>;
    render(): any;
}
