import type { Browser } from '@playwright/test'; import type { BrowserArtifact, BrowserManagerOptions, BrowserOpenOptions, BrowserSessionSummary, BrowserSnapshot } from './types.js'; export type BrowserLauncher = (headless: boolean) => Promise; export declare class BrowserSessionManager { private readonly launcher; private readonly sessions; private readonly artifacts; private readonly allowPrivateHosts; private readonly allowedPrivateOrigins; private readonly networkProxy; private readonly headless; private readonly operationTimeoutMs; private readonly maxSnapshotChars; private readonly maxConsoleEntries; private readonly maxNetworkEntries; private browser?; private launching?; constructor(options: BrowserManagerOptions, launcher?: BrowserLauncher); open(ownerId: string, input: BrowserOpenOptions, signal: AbortSignal): Promise; list(ownerId: string): Promise; navigate(id: string, ownerId: string, rawUrl: string, signal: AbortSignal): Promise; snapshot(id: string, ownerId: string, signal: AbortSignal): Promise; screenshot(id: string, ownerId: string, input: { fullPage?: boolean | undefined; selector?: string | undefined; }, signal: AbortSignal): Promise; click(id: string, ownerId: string, selector: string, signal: AbortSignal): Promise; type(id: string, ownerId: string, selector: string, text: string, signal: AbortSignal): Promise; select(id: string, ownerId: string, selector: string, value: string, signal: AbortSignal): Promise; press(id: string, ownerId: string, key: string, signal: AbortSignal): Promise; hover(id: string, ownerId: string, selector: string, signal: AbortSignal): Promise; wait(id: string, ownerId: string, input: { selector?: string | undefined; timeoutMs?: number | undefined; }, signal: AbortSignal): Promise; drag(id: string, ownerId: string, from: string, to: string, signal: AbortSignal): Promise; upload(id: string, ownerId: string, selector: string, files: string[], projectRoot: string, signal: AbortSignal): Promise; evaluate(id: string, ownerId: string, expression: string, signal: AbortSignal): Promise; close(id: string, ownerId: string): Promise<{ trace?: BrowserArtifact | undefined; }>; closeOwner(ownerId: string): Promise; /** True when the manager owns no live browser contexts. */ isIdle(): boolean; dispose(): Promise; private ensureBrowser; private requireOwned; private summary; private attachEvidenceCollectors; private pushNetwork; private runPageOperation; private closeBrowserIfIdle; } export declare function browserInstallationDiagnostics(): Promise<{ available: boolean; executablePath?: string | undefined; message: string; }>; //# sourceMappingURL=manager.d.ts.map