import type { BrowserControlResult, BrowserNavigateInput, BrowserObservation, BrowserObserveInput, BrowserTabsInput } from '@xopcai/browser-control-contract'; import type { Browser, BrowserContext } from 'playwright-core'; import type { BrowserDriver, BrowserPrimitiveInput } from './browser-driver.js'; export interface PlaywrightConnection { browser: Browser; context: BrowserContext; release?: () => Promise; } export interface PlaywrightDriverOptions { connect: () => Promise; maxNodes: number; maxCharacters: number; visualFallback: boolean; actionTimeoutMs: number; } export declare class PlaywrightDriver implements BrowserDriver { private readonly options; readonly kind: "playwright"; private connection; private sessions; constructor(options: PlaywrightDriverOptions); connect(): Promise; disconnect(): Promise; createSession(sessionId: string): Promise; closeSession(sessionId: string): Promise; navigate(sessionId: string, input: BrowserNavigateInput, signal?: AbortSignal): Promise; observe(sessionId: string, input: BrowserObserveInput, signal?: AbortSignal): Promise; perform(sessionId: string, input: BrowserPrimitiveInput, signal?: AbortSignal): Promise; tabs(sessionId: string, input: BrowserTabsInput, signal?: AbortSignal): Promise; private wait; private verifiedResult; private captureVisual; private activeState; private session; private createPageState; private context; private listTabs; }