import { type ThisComputerPlatform, type ThisComputerStatus } from "@opengeni/sdk/this-computer"; import { type ReactNode } from "react"; import { type ThisComputerLabels } from "./labels.js"; import type { UseThisComputerResult } from "./use-this-computer.js"; /** What the status pieces show for a computer, in order of what matters. */ export type ThisComputerView = "hidden" | "off" | "setting_up" | "finish_setup" | "ready" | "reconnecting" | "paused" | "resuming"; export declare function thisComputerView(status: ThisComputerStatus | null): ThisComputerView; /** "Not now" on the offer, remembered per workspace on this device. */ export declare function useThisComputerOfferDismissed(workspaceId: string): [boolean, () => void]; export interface ThisComputerOfferProps { computer: UseThisComputerResult; labels?: ThisComputerLabels; /** Opens `ThisComputerSetup`. */ onSetup(): void; /** The person chose "Not now" earlier; the offer stays away until set up. */ dismissed?: boolean; onDismiss?(): void; /** The mark beside the title; a laptop by default. */ icon?: ReactNode; className?: string | undefined; } /** * A small card for a sidebar or panel, only while there's something to do: * the offer to set up, setup in progress, finishing the permissions, or * resuming a paused computer. Shows nothing once it's ready. */ export declare function ThisComputerOffer({ computer, labels: given, onSetup, dismissed, onDismiss, icon, className, }: ThisComputerOfferProps): import("react").JSX.Element | null; export interface ThisComputerPanelProps { computer: UseThisComputerResult; platform: ThisComputerPlatform; labels?: ThisComputerLabels; /** Opens `ThisComputerSetup`. */ onSetup(): void; icon?: ReactNode; className?: string | undefined; } /** * The full control for a settings page: whether agents can use this * computer, and turning it on, finishing setup, pausing, resuming and * turning it off (after a confirmation). */ export declare function ThisComputerPanel({ computer, platform, labels: given, onSetup, icon, className, }: ThisComputerPanelProps): import("react").JSX.Element | null;