export { TavusIntegration, TAVUS_EVENT_NAMES } from './integration.ts'; export type { TavusEventName, TavusEventMap, TavusInteraction, StartConversationOptions, TavusElement, } from './integration.ts'; interface TavusEmbedAttributes { /** Whether the visitor camera is enabled automatically. Defaults to `"on"`. */ "camera-on-start"?: "on" | "off"; /** * Where the preview screen puts its copy. `"full-screen"` pins it to the * top-left corner with the action above the lower edge; anything else keeps * the bottom bar. Arrangement only — sizing is always the host page's. */ layout?: "inline" | "full-screen"; /** Deployment to load. Resolved via the `/init` fetch. */ "deployment-id"?: string; /** JSON `OverrideConfig`, deep-merged on top of the fetched config. */ "override-config"?: string; /** Per-call conversational context forwarded to `/start`. */ "conversational-context"?: string; /** Per-call greeting forwarded to `/start`. */ "custom-greeting"?: string; /** Comma-separated memory store ids → `/start` `memory_stores`. */ "memory-stores"?: string; /** API base origin override (defaults to the production API). */ "base-url"?: string; /** * JSON `ExpandOptions`. With `enabled: true` the card lifts out of the page * into a modal overlay while a start is underway and during the call, then * returns inline. `aspect`, `custom_aspect`, `max_width`, `max_height` and * `fullscreen` size the expanded card. See the package README, "Expanding into a modal", * or https://docs.tavus.io/sections/deployments/embed. */ "expand-options"?: string; /** Preview/auth token forwarded to `/init` and `/start`. */ token?: string; } declare global { interface HTMLElementTagNameMap { "tavus-embed": HTMLElement; } } declare module "preact" { namespace JSX { interface IntrinsicElements { "tavus-embed": preact.JSX.HTMLAttributes & TavusEmbedAttributes; } } } declare global { namespace JSX { interface IntrinsicElements { "tavus-embed": TavusEmbedAttributes & { [key: string]: unknown; }; } } } declare module "react" { namespace JSX { interface IntrinsicElements { "tavus-embed": React.HTMLAttributes & TavusEmbedAttributes; } } }