/**
 * 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<string>;
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<LaunchedCdpInstance>;
export declare function stopLocalCdpChrome(port: number): Promise<boolean>;
export declare function listLocalCdpInstances(): LaunchedCdpInstance[];
/** Graceful shutdown — call from gateway exit hooks. */
export declare function stopAllLocalCdpChromes(): Promise<void>;
