import type { Connector, WidgetRenderState } from '../../types'; /** * ChatTrigger connector. * * This connector reads the sibling `chat` widget's render state to expose * `open` (whether the chat is open) and `toggleOpen` (to toggle it). * It also acts as a presence marker in the widget tree * (`$$type: 'ais.chatTrigger'`, `opensChat: true`). The `connectChat` * connector's entry-point validation looks for widgets with `opensChat` * to confirm that a trigger is mounted, and warns otherwise. */ export type ChatTriggerConnectorParams = Record; export type ChatTriggerRenderState = { /** * Whether the sibling chat widget is currently open. */ open: boolean; /** * Toggle the sibling chat widget open/closed. */ toggleOpen: () => void; widgetParams: ChatTriggerConnectorParams; }; export type ChatTriggerWidgetDescription = { $$type: 'ais.chatTrigger'; renderState: ChatTriggerRenderState; indexRenderState: { chatTrigger: WidgetRenderState; }; }; export type ChatTriggerConnector = Connector; declare const connectChatTrigger: ChatTriggerConnector; export default connectChatTrigger;