/** Refactor the below to code  to handle the liveagent events and integrate with the chat system ai12z-bot.tsx */
import { LiveAgentProviderType } from "../liveagents/liveagent-factory-services";
import type { IStartChatOptions } from "../liveagents/liveagent-types";
export declare class LiveAgentEventHandler {
    private liveAgentProvider;
    private logger;
    constructor();
    addAgentEventMessage(eventMessages: any[]): any;
    /**
     * Connects to the specified Live Agent provider and sets up event listeners.
     * @param name - The name of the Live Agent provider (e.g., "salesforce", "custom", "ldesk").
     * @param chatOptions - Options for starting the chat session.
     */
    connectToLiveAgent(name: LiveAgentProviderType, chatOptions: IStartChatOptions): Promise<void>;
    /**
     * Resumes an existing live agent session (e.g. after a page reload) using stored
     * session credentials.  Authentication and conversation creation are skipped;
     * only the SSE listener is reconnected.
     */
    resumeLiveAgentSession(name: LiveAgentProviderType, chatOptions: IStartChatOptions): Promise<void>;
    /**
     * Called when the `messageReceived` event is emitted.
     * Adds the new message to our state, triggering a UI update.
     */
    handleAgentMessage: (message: any) => string;
    sendMessage: (sendMessage: {
        sessionId: string;
        message: string;
    }) => void;
    disconnectLiveAgent: () => void;
}
