import type { WidgetConfig } from '../angie-mcp-sdk'; export declare const LOAD_SIDEBAR_V2_CONFIG_VERSION: 2; export declare const LAYOUT_SIDEBAR: "sidebar"; export declare const LAYOUT_FLOATING_CHAT: "floatingChat"; export type LoadSidebarV2Layout = typeof LAYOUT_SIDEBAR | typeof LAYOUT_FLOATING_CHAT; export type LoadSidebarV2ContainerStyleTheme = 'wordpress' | ''; export type HostConfig = { appId: string; instanceId?: string; aiContext?: Record; website?: Record; analytics?: Record; }; export type BootConfig = { allowInIframe: boolean; }; export type BootOptions = Partial; export type ContainerConfig = { id: string; layout: LoadSidebarV2Layout; styleTheme: LoadSidebarV2ContainerStyleTheme; /** `false`: wait for a host-rendered element with this id. */ create: boolean; skipDefaultCss: boolean; persistOpenState: boolean; resizable: boolean; chatToggleButton: { enabled: boolean; selector: string; }; }; export type ContainerOptions = Partial; export type IframeConfig = { origin: string; path: string; uiTheme: string; isRTL: boolean; }; export type IframeOptions = Partial; export type ExternalHeadersCallback = () => Record | Promise>; /** Per-request context when boot-time `host.website` / `host.analytics` is not enough. */ export type HostContextProvider = () => Record | Promise>; export type CallbacksConfig = { onClose?: () => void; /** Sidebar only. Floating chat uses `onClose`. */ onToggle?: (isOpen: boolean) => void; getExternalHeaders?: ExternalHeadersCallback; getWebsiteContext?: HostContextProvider; getAnalyticsContext?: HostContextProvider; }; export type LoadSidebarV2Options = { host: HostConfig; boot?: BootOptions; container?: ContainerOptions; iframe?: IframeOptions; callbacks?: CallbacksConfig; widgetConfig?: WidgetConfig; sdkInstanceId?: string; appId?: string; }; export type ResolvedConfigV2 = { host: HostConfig; boot: BootConfig; container: ContainerConfig; iframe: IframeConfig; callbacks: CallbacksConfig; widgetConfig?: WidgetConfig; }; export type HostEmbeddedConfigPayload = { aiContext?: Record; appId?: string; configVersion: typeof LOAD_SIDEBAR_V2_CONFIG_VERSION; telemetry?: Record; website?: Record; }; export declare const buildHostEmbeddedConfigPayload: (host: ResolvedConfigV2["host"]) => HostEmbeddedConfigPayload;