import { Tool, Client } from '@tarko/mcp-agent'; import { BrowserGUIAgent } from './browser-gui-agent'; import { ConsoleLogger } from '@tarko/mcp-agent'; import { BrowserControlMode } from '../types'; import { BrowserManager } from './browser-manager'; /** * BrowserToolsManager - Controls the registration of browser tools based on selected strategy * * This manager implements a Strategy pattern for browser control: * - Encapsulates each browser control strategy (default, browser-use-only, gui-agent-only) * - Dynamically registers the appropriate tools based on the selected strategy * - Ensures proper integration between GUI Agent and MCP Browser Server tools */ export declare class BrowserToolsManager { private mode; private logger; private browserClient?; private browserGUIAgent?; private registeredTools; private strategy; constructor(logger: ConsoleLogger, mode?: BrowserControlMode); /** * Set the browser manager */ setBrowserManager(browserManager: BrowserManager): void; /** * Set the MCP Browser client for DOM-based operations */ setBrowserClient(client: Client): void; /** * Set the GUI Agent for vision-based operations */ setBrowserGUIAgent(guiAgent: BrowserGUIAgent): void; /** * Register all browser tools according to the selected strategy * @param registerToolFn Function to register a tool with the agent * @returns Array of registered tool names */ registerTools(registerToolFn: (tool: Tool) => void): Promise; /** * Get current browser control mode */ getMode(): BrowserControlMode; /** * Get registered tool names */ getRegisteredTools(): string[]; /** * Validate that all required components are available for the selected strategy */ private validateRequiredComponents; } //# sourceMappingURL=browser-tools-manager.d.ts.map