import type { OpenGeniClient, ToolGatewayIdentity } from "@opengeni/sdk"; import { type ArtifactLabels } from "./artifact-chrome.js"; import type { PublishedHtmlArtifactToolBridge } from "./published-html-artifact-frame.js"; /** Reads a Site needs to render; the console client, the SDK client, or a proxy. */ export type SiteSnapshotClient = Pick & Partial>; /** The exact saved Site a tool bridge is pinned to (absent for inline HTML). */ export type SiteToolScope = { artifactId: string; siteVersionId: string; requestedTools: readonly ToolGatewayIdentity[]; }; /** Host-owned Site API access. Omit it and Sites render without workspace tools. */ export type SiteToolBridgeFactory = (site?: SiteToolScope) => PublishedHtmlArtifactToolBridge | undefined; export type ChatInteractiveBlockProps = { workspaceId: string; kind: "html" | "site"; content: string; client: SiteSnapshotClient; toolBridge?: SiteToolBridgeFactory | undefined; theme?: "light" | "dark" | undefined; /** Translations for the preview's copy; defaults to English. */ labels?: Partial | undefined; }; /** * Inline preview for an assistant `opengeni-html` or `opengeni-site` fence, as * the Opengeni console renders it. "Open Site" goes through the nearest * `resolveLink`, so a host decides where a Site opens. */ export declare function ChatInteractiveBlock({ labels, ...props }: ChatInteractiveBlockProps): import("react").JSX.Element;