import { WebSocketManager } from './websocket-manager.js'; import { TabRegistry } from './tab-registry.js'; interface CommandResponse { id: string; success: boolean; result?: any; error?: { message: string; code: string; }; } export declare class MCPHandler { private wsManager; private tabRegistry; private pendingCommands; private clientInfo; constructor(wsManager: WebSocketManager, tabRegistry: TabRegistry); setClientInfo(info: { name?: string; version?: string; }): void; getClientInfo(): { name?: string; version?: string; }; /** * List all connected browser tabs */ listTabs(): any; /** * Navigate to a URL */ navigate(tabId: string, url: string, timeout?: number): Promise; /** * Navigate back in browser history */ goBack(tabId: string): Promise; /** * Navigate forward in browser history */ goForward(tabId: string): Promise; /** * Click on an element */ click(tabId: string, selector?: string, xpath?: string): Promise; /** * Hover over an element */ hover(tabId: string, selector?: string, xpath?: string): Promise; /** * Fill an input field */ fill(tabId: string, value: string, selector?: string, xpath?: string): Promise; /** * Select an option from a dropdown */ select(tabId: string, value: string, selector?: string, xpath?: string): Promise; /** * Send a keypress event */ keypress(tabId: string, key: string, params?: { selector?: string; xpath?: string; delay?: number; timeout?: number; }): Promise; /** * Take a screenshot */ screenshot(tabId: string, params?: { selector?: string; xpath?: string; scale?: number; format?: 'webp' | 'jpeg' | 'png'; quality?: number; }): Promise; /** * Execute JavaScript code */ evaluate(tabId: string, code: string): Promise; /** * Get DOM HTML */ getDom(tabId: string, selector?: string, xpath?: string): Promise; /** * Get elements matching a selector */ getElements(tabId: string, params: { selector?: string; xpath?: string; visible?: string; }): Promise; /** * Get elements at specific coordinates */ getElementsFromPoint(tabId: string, x: number, y: number): Promise; /** * Get console logs from the browser */ getConsoleLogs(tabId: string, before?: string, limit?: number, level?: string): Promise; private executeCommand; /** * Handle command response from browser extension * Called by WebSocketManager when a response is received */ handleCommandResponse(response: CommandResponse): void; cleanup(): void; } export {}; //# sourceMappingURL=mcp-handler.d.ts.map