import type { BrowserProvider, OpenOutcome, ActOutcome } from '../provider.js'; import type { ActInput, BrowserConfig, BrowserObservation, BrowserProviderState, CloseInput, ExtractInput, ExtractResult, InteractiveElement, ObserveInput, OpenInput, RenderInput, RenderResult, ScreenshotInput, ScreenshotResult } from '../types.js'; import { AgentBrowserClient } from './client.js'; import type { AgentBrowserConnection } from './connection.js'; export interface SessionState { tabId: string; observationCounter: number; knownElements: Map; lastAction: string | null; lastActionAt: string | null; currentUrl: string | null; currentTitle: string | null; } export declare class AgentBrowserProvider implements BrowserProvider { readonly name = "agent-browser"; private readonly config; readonly client: AgentBrowserClient; private readonly sessions; constructor(config: BrowserConfig, connection: AgentBrowserConnection); open(input: OpenInput): Promise; observe(input: ObserveInput): Promise; act(input: ActInput): Promise; render(_input: RenderInput): Promise; screenshot(input: ScreenshotInput): Promise; extract(_input: ExtractInput): Promise; close(input: CloseInput): Promise; describe(sessionId: string): BrowserProviderState | null; shutdown(): Promise; private buildObservation; }