/** * dock-popout - open a real browser window and render a dock pane's content * inside it (Golden-Layout-style pop-out). Runtime-only: an OS window handle is * not serializable, so the manager tracks popped panes separately and pops them * back into the layout when the window closes. * * The popped nodes are created by the main document and adopted into the popup, * so they stay driven by the main window's reactivity - the pop-out shows the * same live content as the docked view. Stylesheets + `--sg-*` theme tokens are * copied across so it looks identical. */ import { type Snippet } from 'svelte'; import type { DockPane } from './dock-model'; export type Popout = { pane: DockPane; win: Window; destroy: () => void; }; export type OpenPopoutOptions = { pane: DockPane; paneSnippet: Snippet<[DockPane]>; /** Element whose resolved `--sg-*` tokens theme the popup. */ themeSource: HTMLElement; width?: number; height?: number; /** Called (once) when the popup closes, to pop the pane back in. */ onClose: (paneId: string) => void; }; /** Open a pop-out window for a pane. Returns null if the browser blocked it. */ export declare function openPopout(opts: OpenPopoutOptions): Popout | null;