import { type CreateBrowserEditableArtifactSessionOptions, type EditableArtifactBrowserRuntime, type EditableArtifactSession } from "@opengeni/sdk/editable-artifacts"; import { type EditableDocumentArtifactSurfaceProps } from "./editable-document.js"; import { type EditablePresentationArtifactSurfaceProps } from "./editable-presentation.js"; import { type EditableSpreadsheetArtifactSurfaceProps } from "./editable-spreadsheet.js"; export type EditableArtifactWorkbenchProps = Readonly<{ session: EditableArtifactSession; document?: Omit; spreadsheet?: Omit; presentation?: Omit; }>; export type EditableArtifactWorkbenchHostProps = Omit & Readonly<{ /** * Complete identity of the browser session authority. Change this when the * artifact, deployment, principal, or authorization epoch changes. */ sessionKey: string; /** Called for the active keyed lifecycle and again only after replacement or retry. */ createSession: () => EditableArtifactSession; }>; type DefaultBrowserArtifactTransport = Omit, "apiKey" | "fetch" | "headers" | "webSocketFactory"> & Readonly<{ /** Static deployment auth headers; rotate authorizationEpoch when they change. */ headers?: Readonly>; }>; export type BrowserEditableArtifactWorkbenchOptions = Omit & Readonly<{ /** Default module Worker only; custom Worker hosts use EditableArtifactWorkbenchHost. */ runtime: Omit; /** Default fetch/WebSocket only; static deployment auth headers are supported. */ transport?: DefaultBrowserArtifactTransport; }>; export type BrowserEditableArtifactWorkbenchProps = Omit & Readonly<{ options: BrowserEditableArtifactWorkbenchOptions; }>; /** * One modality-neutral SDK workbench. Embedding hosts keep one route/component; * each artifact still renders through its complete first-party editor surface. */ export declare function EditableArtifactWorkbench({ session, document, spreadsheet, presentation, }: EditableArtifactWorkbenchProps): import("react").JSX.Element; /** * Route/embed composition that owns exactly one SDK session. The host supplies * the authenticated SDK factory; React guarantees replacement and teardown. */ export declare function EditableArtifactWorkbenchHost({ sessionKey, createSession, document, spreadsheet, presentation, }: EditableArtifactWorkbenchHostProps): import("react").JSX.Element; /** * Complete default-browser composition for embedders: verified WASM Worker, * durable IndexedDB state, authenticated live sync, teardown, and the matching * first-party editor. Advanced/custom transports compose the lower-level host. */ export declare function BrowserEditableArtifactWorkbench({ options, document, spreadsheet, presentation, }: BrowserEditableArtifactWorkbenchProps): import("react").JSX.Element; export {};