import ' rollup-plugin-inject-process-env';
import { WidgetEnv } from "@xapp/stentor-chat-widget";
import { FC } from "react";
import { PreviewMessage } from ".";
import { CONNECTION_STATUS_TYPE } from "../../store/ChatAction";
import { ChatWidgetMode } from "./ChatWidget";
export interface ChatWidgetContainerProps {
    readonly preChatFormEnabled?: boolean;
    readonly mode?: ChatWidgetMode;
    readonly config?: WidgetEnv;
    onConnectionStatusChange?(status: CONNECTION_STATUS_TYPE): void;
    /**
     * Optional async callback to load configuration.
     * If provided, the widget will wait for this to resolve before initializing.
     * This is useful for React Native apps where config may need to be fetched
     * asynchronously or where there's a delay in prop propagation.
     *
     * @returns Promise that resolves to the WidgetEnv config
     */
    getConfig?(): Promise<WidgetEnv>;
    /**
     * Disable automatic scrolling behavior when messages change.
     */
    readonly disableAutoScroll?: boolean;
    /**
     * Enable preview mode with static messages and no server connection.
     * Can be combined with any `mode` for different visual layouts.
     */
    readonly preview?: boolean;
    /**
     * Preview messages to display when preview mode is enabled.
     */
    readonly previewMessages?: readonly PreviewMessage[];
}
/**
 * Top-level container that dispatches between preview and connected modes.
 */
declare const ChatWidgetContainer: FC<ChatWidgetContainerProps>;
export default ChatWidgetContainer;
