import type { BrowserActionInput, BrowserControlResult, BrowserNavigateInput, BrowserObservation, BrowserObserveInput, BrowserTabsInput } from '@xopcai/browser-control-contract'; export type BrowserPrimitiveInput = Exclude; export interface BrowserDriver { readonly kind: 'playwright' | 'extension'; 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; }