export default WebMCP;
export type WebMCPTool = {
    name: string;
    description: string;
    inputSchema: Record<string, any>;
    frameId: string;
    backendNodeId?: number | undefined;
    stackTrace?: any;
    nodeDetails?: import("../../index.js").Artifacts.NodeDetails | undefined;
};
/**
 * @typedef {Object} WebMCPTool
 * @property {string} name
 * @property {string} description
 * @property {Record<string, any>} inputSchema
 * @property {string} frameId
 * @property {number} [backendNodeId]
 * @property {any} [stackTrace]
 * @property {LH.Artifacts.NodeDetails} [nodeDetails]
 */
declare class WebMCP extends BaseGatherer {
    /** @type {WebMCPTool[]} */
    _tools: WebMCPTool[];
    _isSupported: boolean;
    _onToolsAdded: (event: {
        tools: WebMCPTool[];
    }) => void;
    _onToolsRemoved: (event: {
        tools: WebMCPTool[];
    }) => void;
    /**
     * @param {{tools: WebMCPTool[]}} event
     */
    onToolsAdded(event: {
        tools: WebMCPTool[];
    }): void;
    /**
     * @param {{tools: WebMCPTool[]}} event
     */
    onToolsRemoved(event: {
        tools: WebMCPTool[];
    }): void;
    /**
     * @param {LH.Gatherer.Context} passContext
     */
    startInstrumentation(passContext: LH.Gatherer.Context): Promise<void>;
    /**
     * @param {LH.Gatherer.Context} passContext
     */
    stopInstrumentation(passContext: LH.Gatherer.Context): Promise<void>;
    /**
     * @param {LH.Gatherer.Context} context
     * @return {Promise<LH.Artifacts['WebMCP']>}
     */
    getArtifact(context: LH.Gatherer.Context): Promise<LH.Artifacts["WebMCP"]>;
}
import BaseGatherer from '../base-gatherer.js';
//# sourceMappingURL=webmcp.d.ts.map