import type { ParsedSurface } from "./browserSurface.js"; import { type ActiveSurfaceTracker } from "./activeSurface.js"; export { normalizeEngine, createSessionRegistry, registerSession, findSession, resolveSessionForRef, openSession, activateSession, lookupSessionByName, closeSession, sweepSessions, activeDriver, }; export type { BrowserOpenOverrides }; declare function normalizeEngine(engine: string): string; export interface BrowserSessionEntry { name: string; engine: string; driver: any; lastFocused: number; } interface BrowserOpenOverrides { headless?: boolean; size?: { width?: number; height?: number; }; driverOptions?: Record; } export interface BrowserSessionRegistry { sessions: Map; activeName: string | null; focusSeq: number; open?: (engine: string, overrides?: BrowserOpenOverrides) => Promise; isNameTaken?: (name: string) => boolean; tracker?: ActiveSurfaceTracker; } declare function createSessionRegistry(opts?: { open?: (engine: string, overrides?: BrowserOpenOverrides) => Promise; isNameTaken?: (name: string) => boolean; tracker?: ActiveSurfaceTracker; }): BrowserSessionRegistry; declare function registerSession(registry: BrowserSessionRegistry, { name, engine, driver }: { name: string; engine: string; driver: any; }): BrowserSessionEntry; declare function lookupSessionByName(registry: BrowserSessionRegistry, name: string): BrowserSessionEntry | undefined; declare function activateSession(registry: BrowserSessionRegistry, name: string): boolean; declare function activeDriver(registry: BrowserSessionRegistry | undefined): any | undefined; type SessionResolution = { ok: true; driver: any; name: string; } | { ok: false; message: string; }; declare function findSession(registry: BrowserSessionRegistry, ref: ParsedSurface): { ok: true; entry: BrowserSessionEntry | undefined; } | { ok: false; message: string; }; declare function resolveSessionForRef(registry: BrowserSessionRegistry, ref: ParsedSurface, opts?: { allowOpen?: boolean; }): Promise; declare function openSession(registry: BrowserSessionRegistry, { engine: rawEngine, name, overrides, }: { engine: string; name?: string; overrides?: BrowserOpenOverrides; }): Promise<{ ok: true; driver: any; name: string; } | { ok: false; message: string; }>; declare function closeSession(registry: BrowserSessionRegistry, name: string): Promise<{ ok: true; closed: boolean; }>; declare function sweepSessions(registry: BrowserSessionRegistry): Promise; //# sourceMappingURL=browserSessions.d.ts.map