import { type ReactNode } from "react"; import type { SiteViewer } from "@opengeni/sdk"; import { type PublishedHtmlArtifactToolBridge } from "./published-html-artifact-frame.js"; export type ArtifactSandboxProps = { html: string; height?: number | undefined; autoHeight?: boolean | undefined; theme?: "light" | "dark" | undefined; headerControls?: ReactNode | undefined; title: string; /** Hide the visible title/icon while retaining the accessible iframe title. */ showTitle?: boolean | undefined; showLiveStatus?: boolean | undefined; versionLabel?: string | undefined; className?: string | undefined; editDisabled?: boolean | undefined; onEdit?: (() => void) | undefined; toolBridge?: PublishedHtmlArtifactToolBridge | undefined; /** Who is viewing, answered to the Site's `site.viewer` over the bridge. */ viewer?: SiteViewer | undefined; connectedToolCount?: number | undefined; sourceFileCount?: number | undefined; fill?: boolean | undefined; /** * Control full screen from the host (for example from its URL). Omit to let * the frame's own expand and back buttons manage it. */ fullScreen?: boolean | undefined; /** Called when the person expands the frame or leaves full screen. */ onFullScreenChange?: ((fullScreen: boolean) => void) | undefined; /** * Hide the frame's toolbar when the host draws its own reload and full * screen controls. Full screen always shows it, for its Back button. */ showToolbar?: boolean | undefined; /** Reload the Site whenever this changes, from a host-drawn reload control. */ reloadToken?: number | undefined; }; /** * The Site/preview frame chrome shared by the console and embedding hosts: * title, version and tool badges, live status, reload, and a full-screen mode * that escapes the host's scroll containers through the modal top layer. */ export declare function ArtifactSandbox(props: ArtifactSandboxProps): import("react").JSX.Element;