import { type KeyboardEvent, type ReactNode } from "react"; import { type ComputerFrameWebSocketFactory } from "../hooks/use-computer-frame-stream.js"; import type { EmbeddedComputerInteractionClientOverride } from "../session-context.js"; export type ComputerViewerNotification = { kind: "error" | "info"; message: string; }; export type ComputerViewerProps = EmbeddedComputerInteractionClientOverride & { /** Selected Opengeni agent/session. Peer ComputerSessions remain visible. */ sessionId: string; enabled?: boolean | undefined; className?: string | undefined; onNotify?: ((notification: ComputerViewerNotification) => void) | undefined; /** Tests/demos only. Production uses the browser's native WebSocket. */ webSocketFactory?: ComputerFrameWebSocketFactory | undefined; renderEmpty?: ((create: () => void, creating: boolean) => ReactNode) | undefined; /** Host navigation request for one exact ComputerSession. */ requestedComputerSessionId?: string | null | undefined; requestedComputerRequestId?: string | number | null | undefined; /** Restore and report the Desktop session selected in this task's dock. */ initialComputerSessionId?: string | null | undefined; onComputerSessionIdChange?: ((computerSessionId: string | null) => void) | undefined; }; /** Full ComputerSession surface: workspace discovery, peer switching, app/window/ * screen navigation, semantic controls, exact-frame input, and live media. */ export declare function ComputerViewer({ sessionId, enabled, className, onNotify, webSocketFactory, renderEmpty, requestedComputerSessionId, requestedComputerRequestId, initialComputerSessionId, onComputerSessionIdChange, ...override }: ComputerViewerProps): string | number | bigint | boolean | import("react").JSX.Element | Iterable | Promise | import("react").ReactElement> | import("react").ReactPortal | null | undefined> | null | undefined; export declare function computerKey(event: Pick, "altKey" | "ctrlKey" | "key" | "metaKey" | "shiftKey">): string | null;