import type { AgentSession } from "../../core/runtime/agent-session.js"; export interface RemoteModeOptions { /** Listen port (default 8787). */ port?: number; /** Bind address (default 0.0.0.0). */ host?: string; /** Spawn a cloudflared quick tunnel for external access. */ tunnel?: boolean; /** Fixed pairing token (unattended setups, e.g. behind frp). Default: fresh random token per run. */ serveToken?: string; /** Advertised WebSocket endpoint for the QR/deep link (e.g. ws://frp-host:8787/ws). */ advertiseUrl?: string; } /** * Run remote serve mode: HTTP + WebSocket server for mobile/browser clients. * Uses the fixed pairing token from options.serveToken when provided (for * unattended setups behind frp), else generates a fresh 192-bit token per run * (never persisted). Prints connect URLs + QR, optionally exposes a public * tunnel, and cleans up on SIGINT/SIGTERM or extension-initiated shutdown. * Never returns. */ export declare function runRemoteMode(session: AgentSession, options?: RemoteModeOptions): Promise;