/**
* ChatRoot — top-level Preact component + Shadow DOM bootstrap.
*
* `mountChatUI()` creates a host `
` on ``, attaches an open
* shadow root, injects the shared style string, and renders ``.
*
* The host element receives a CSS transform when `bubbleDraggable` is
* enabled (via `bubble-drag.ts`); the shadow content is purely structural.
*/
import "@preact/signals";
import { type JSX } from "preact";
import type { ChatController } from "../controller/chat-controller";
import type { ChatStore } from "../store/chat-store";
export interface MountChatUIArgs {
store: ChatStore;
controller: ChatController;
position: "bottom-right" | "bottom-left";
bubbleDraggable: boolean;
}
export interface MountedChatUI {
host: HTMLElement;
destroy(): void;
}
export declare function mountChatUI(args: MountChatUIArgs): MountedChatUI;
interface ChatRootProps {
store: ChatStore;
controller: ChatController;
position: "bottom-right" | "bottom-left";
bubbleDraggable: boolean;
}
export declare function ChatRoot({ store, controller, position, bubbleDraggable, }: ChatRootProps): JSX.Element;
export {};