import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
import { type BrowserSessionMode, type BrowserUseConfig, configToArgs, resolveConfig, type VisionModelConfig } from './config.js';
export type { BrowserSessionMode, BrowserUseConfig, VisionModelConfig };
export { configToArgs, resolveConfig };
/**
 * MCP client that spawns chrome-devtools-mcp as a subprocess and communicates
 * over stdio.  Owns the child-process lifecycle: connect() starts it, close() kills it.
 */
export declare class DevToolsClient {
    private client;
    private transport;
    private config;
    constructor(config?: BrowserUseConfig);
    connect(): Promise<void>;
    listAllTools(): Promise<Tool[]>;
    callTool(name: string, args: Record<string, unknown>): Promise<{
        content?: Array<{
            type: string;
            text?: string;
            data?: string;
            mimeType?: string;
        }>;
        isError?: boolean;
    }>;
    close(): Promise<void>;
}
/**
 * pi-coding-agent extension entry point.
 *
 * On session_start: spawns chrome-devtools-mcp, discovers upstream tools,
 * and registers each one via pi.registerTool() with a "browser_" prefix.
 * On session_shutdown: tears down the subprocess.
 *
 * Config is loaded from config.json["pi-browser-use"] in the working directory.
 * If visionModel is configured, an additional analyze_screenshot tool is registered.
 */
export default function browserUseExtension(pi: ExtensionAPI): void;
//# sourceMappingURL=index.d.ts.map