/** * BrowserManager: session-scoped lifecycle for browser connections. * * Holds active BrowserSession instances keyed by session ID. One session per * agent run/build/chat session - the harness gets a persistent browser across * multiple MCP tool calls within the same session. * * `close`/`closeAll` DISCONNECT the CDP connection only. The debug browser is * never closed by the bridge - not on `browser_close`, session end, agent * disconnect or daemon shutdown. The human closes the window (or runs * `teamshare-agent browser stop`). */ import { BrowserSession, type BrowserSessionOptions } from './session'; export declare class BrowserManager { private sessions; /** * Get an existing session or create a new one. * If the session exists but is disconnected, reconnects it. */ getOrCreate(sessionId: string, opts?: BrowserSessionOptions): BrowserSession; /** * Get a session by ID (returns undefined if not found). */ get(sessionId: string): BrowserSession | undefined; /** * Close and remove a specific session. */ close(sessionId: string): boolean; /** * Disconnect every session. The debug browser windows stay open. */ closeAll(): void; /** * List active session IDs. */ list(): string[]; /** * Count of active (connected) sessions. */ get activeCount(): number; } /** * Get the global BrowserManager singleton. * Created lazily on first access. */ export declare function getBrowserManager(): BrowserManager;