/** * Launches a Chromium / Chrome instance locally with `--remote-debugging-port` * so the user can wire CDP backend without typing the command themselves. * * Instances live for the lifetime of the gateway process (no on-disk state). * Launching binds the debug port to 127.0.0.1; the user-data-dir is rooted * under `~/.xopc/cdp-launch/` and removed on stop. */ export interface LaunchedCdpInstance { /** Debug port the instance listens on (loopback). */ port: number; /** Browser-level WS endpoint, ready for Playwright `connectOverCDP`. */ wsEndpoint: string; /** Browser process pid. */ pid: number; /** Resolved Chrome / Chromium binary path used to spawn. */ executablePath: string; /** Temporary `--user-data-dir`. Deleted on stop. */ userDataDir: string; /** Wall-clock spawn time (ms epoch). */ startedAt: number; } /** Resolve a Chrome / Chromium executable for the current platform. */ export declare function resolveChromeBinary(override?: string): Promise; export interface LaunchOptions { /** Optional override for the Chrome / Chromium binary. */ executablePath?: string; /** Run headless. Default false (visible window so user can interact). */ headless?: boolean; } export declare function launchLocalCdpChrome(opts?: LaunchOptions): Promise; export declare function stopLocalCdpChrome(port: number): Promise; export declare function listLocalCdpInstances(): LaunchedCdpInstance[]; /** Graceful shutdown — call from gateway exit hooks. */ export declare function stopAllLocalCdpChromes(): Promise;