import { BrowserManagerImpl } from '../managers/browser-manager'; import { ActionEngine } from '../engine/action-engine'; import { AIConfig, BrowserAdapter, BrowserConfig, ExecutionOptions, TaskResult } from '../types'; /** * Main Browser Automation Framework class */ export declare class BrowserAutomation { private browserManager; private registry; private config; private aiConfig?; private actionEngine?; private aiEngine?; constructor(config?: Partial); /** * Initialize the framework with the specified configuration */ initialize(): Promise; /** * Execute a natural language task */ execute(instruction: string, options?: ExecutionOptions): Promise; /** * Execute a task using the ActionEngine (AI-powered) */ executeTask(instruction: string, options?: ExecutionOptions): Promise; /** * Basic execution without AI (fallback) */ private basicExecute; /** * Navigate to a URL */ navigate(url: string): Promise; /** * Take a screenshot */ screenshot(options?: { path?: string; fullPage?: boolean; }): Promise; /** * Get the current page title */ getTitle(): Promise; /** * Get the current page URL */ getUrl(): Promise; /** * Wait for an element to be visible */ waitForElement(selector: string, timeout?: number): Promise; /** * Click an element */ click(selector: string): Promise; /** * Type text into an element */ type(selector: string, text: string): Promise; /** * Get the current browser adapter */ getCurrentAdapter(): BrowserAdapter | null; /** * Get available adapters */ getAvailableAdapters(): string[]; /** * Switch to a different adapter */ switchAdapter(adapterName: string): Promise; /** * Close the browser and clean up resources */ close(): Promise; /** * Get browser manager for advanced operations */ getBrowserManager(): BrowserManagerImpl; /** * Get action engine for advanced AI operations */ getActionEngine(): ActionEngine | undefined; /** * Check if the framework is ready */ isReady(): boolean; /** * Get current configuration */ getConfig(): BrowserConfig; /** * Update configuration */ updateConfig(newConfig: Partial): void; /** * Capture current page state */ private captureCurrentState; }