import { UTMConfig } from "./utils";
export interface EndResponseConfig {
    element: HTMLElement;
    hideSpinner: (chatData: any) => Promise<void>;
    getUpdatedChat?: (message: any, data: any) => any;
    updateChatMessage?: (message: any, data: any) => void;
    updateConversations?: (html: string, data: any) => void;
    renderSurvey: (data: any) => void;
    processTemplateData: (chatData: any, data: any) => Promise<void>;
    processChatData: (chatData: any, data: any) => Promise<void>;
    checkHighlightcode: (id: string) => void;
    addEventListeners: (selector: string) => void;
    customStyle?: string;
    customJS?: string;
    controlSettings?: any;
    utmConfig?: UTMConfig;
    conversationId: string;
}
export interface EndResponseParams {
    data: any;
    currentDomId: string;
    setMessages: any;
    inputType?: string;
    setSurveyDomId?: (id: string) => void;
    setButtons?: (buttons: Array<{
        id: string;
        label: string;
    }>) => void;
    config: EndResponseConfig;
}
export declare function handleEndResponse(params: EndResponseParams): Promise<void>;
export declare function waitForElementRender(selector: string, element: HTMLElement, timeoutMs?: number): Promise<HTMLElement>;
