export type BrowserAction = { type: 'navigate'; url: string; waitUntil?: 'load' | 'domcontentloaded' | 'networkidle0'; } | { type: 'click'; selector: string; timeoutMs?: number; } | { type: 'fill'; selector: string; value: string; } | { type: 'select'; selector: string; value: string; } | { type: 'press'; key: string; } | { type: 'scroll'; direction?: 'down' | 'up'; amount?: number; } | { type: 'wait'; ms: number; } | { type: 'waitForSelector'; selector: string; timeoutMs?: number; } | { type: 'screenshot'; path?: string; fullPage?: boolean; } | { type: 'extract'; mode: 'text' | 'html' | 'links' | 'forms' | 'tables'; } | { type: 'evaluate'; script: string; } | { type: 'submit'; selector?: string; }; export interface WebBrowserStep { description: string; action: BrowserAction; } export interface WebBrowserTask { goal: string; startUrl?: string; steps: WebBrowserStep[]; timeoutMs?: number; screenshotPerStep?: boolean; } export interface WebBrowserResult { success: boolean; finalUrl?: string; extractedText?: string; links?: Array<{ text: string; href: string; }>; forms?: Array<{ selector: string; type: string; name: string; placeholder?: string; }>; screenshots?: string[]; stepResults?: Array<{ description: string; ok: boolean; output: string; }>; error?: string; durationMs?: number; } export interface WebBrowserAgentConfig { executablePath?: string; timeoutMs?: number; headless?: boolean; blockPrivateNetwork?: boolean; userAgent?: string; artifactDir?: string; maxTextChars?: number; } export declare class WebBrowserAgent { private config; constructor(config?: WebBrowserAgentConfig); executeTask(task: WebBrowserTask): Promise; private executeStep; private extractPageText; private extractLinks; private extractForms; } //# sourceMappingURL=browser-agent.d.ts.map