export declare function mount(container: HTMLElement, options?: MountOptions): MountHandle; export declare interface MountHandle { /** Unmounts the React tree. `container` itself is left in the DOM (with an empty shadow root). */ unmount(): void; setTheme(theme: Theme): void; } export declare interface MountOptions { /** pi-outpost backend origin, e.g. "https://api.example.com". Defaults to same-origin as the host page. */ serverUrl?: string; /** Initial theme; falls back to the server's branding.defaultTheme, then "system". */ theme?: Theme; /** Auth token for servers with `server.token` set — the host app supplies it, no token screen shown. */ token?: string; /** * Project the widget is bound to, by its resolved root path. Defaults to the * server's default project. * * Which project an embedded widget shows is the host's decision, not its user's: * the widget offers no project switching whatever this is set to. A root that is * not open falls back to the default rather than failing, so a project closed * server-side leaves a working widget instead of a dead socket. */ workspace?: string; } /** * Theme the widget starts in. Spelled out here rather than re-exported from * @pi-outpost/shared: that package is private to this repo, so a published * `mount.d.ts` importing from it would resolve to nothing in a consumer's * project. The assignment below keeps the two in step. */ export declare type Theme = "light" | "dark" | "system"; export { }