import { type BrowserControlDependencies, type BrowserControlInput, type BrowserControlToolOptions, type BrowserExecutionSummary, type BrowserGeneratedMedia, type BrowserVideoRecordingSummary, type BrowserRuntimeTransport, type BrowserTransportPreference } from "./browser_runtime.js"; export interface BrowserSessionSnapshot { sessionId: string; ownerId: string; workspace: string; configWorkspace: string; status: "running"; startedAt: number; updatedAt: number; transportRequested: BrowserTransportPreference; transportUsed: BrowserRuntimeTransport; mode: "headless" | "headed"; persistentProfile: boolean; profileId?: string; profilePath?: string; reusedExistingSession: boolean; finalUrl?: string; title?: string; } export interface BrowserSessionManagerOptions { maxSessionsPerOwner?: number; idleTimeoutMs?: number; } interface StartBrowserSessionInput { ownerId: string; options: BrowserControlToolOptions; dependencies?: Partial; input: BrowserControlInput; } interface RunBrowserSessionInput { ownerId: string; sessionId: string; input: Pick; } interface CloseBrowserSessionInput { ownerId: string; sessionId: string; } export declare class BrowserSessionManager { private readonly sessions; private readonly ownerIndex; private readonly cleanupTimer; private readonly maxSessionsPerOwner; private readonly idleTimeoutMs; constructor(options?: BrowserSessionManagerOptions); dispose(): Promise; startSession(input: StartBrowserSessionInput): Promise<{ snapshot: BrowserSessionSnapshot; summary: BrowserExecutionSummary; }>; runSession(input: RunBrowserSessionInput): Promise<{ snapshot: BrowserSessionSnapshot; summary: BrowserExecutionSummary; }>; closeSession(input: CloseBrowserSessionInput): Promise<{ snapshot: BrowserSessionSnapshot; closeSummary: { media: BrowserGeneratedMedia[]; videoRecording: BrowserVideoRecordingSummary | null; }; }>; listSessions(ownerId: string): BrowserSessionSnapshot[]; private cleanupExpiredSessions; private closeAndDelete; private getOwnedRecord; private toSnapshot; private normalizeOwnerId; } export declare const getSharedBrowserSessionManager: () => BrowserSessionManager; export {};