/**
 * MCP Bridge — exports qlogicagent tools as MCP (Model Context Protocol) servers
 * for injection into external ACP agent sessions.
 *
 * When an ACP agent's session is created, we inject MCP servers that expose
 * qlogicagent's native tools (media_generate, memory_*, web_search, etc.)
 * so external agents can call them.
 *
 * Architecture:
 *   qlogicagent ─── ACP ───→ external agent
 *       └── MCP bridge server ◄── tools/call ── external agent
 *
 * The bridge server runs as a stdio child process. Each external agent
 * session gets its own MCP bridge server instance.
 */
import type { McpServerConfig, AgentCapabilities } from "../../protocol/wire/acp-agent-management.js";
/**
 * Tools exported via MCP bridge.
 * These represent qlogicagent capabilities that external agents can call.
 */
export declare const MCP_BRIDGE_TOOLS: readonly [{
    readonly name: "media_generate";
    readonly description: "Generate images or videos using AI models.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly prompt: {
                readonly type: "string";
                readonly description: "Generation prompt";
            };
            readonly type: {
                readonly type: "string";
                readonly enum: readonly ["image", "video"];
                readonly description: "Media type";
            };
        };
        readonly required: readonly ["prompt"];
    };
}, {
    readonly name: "media_status";
    readonly description: "Check status of an async media generation job.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly jobId: {
                readonly type: "string";
                readonly description: "Job ID to check";
            };
        };
        readonly required: readonly ["jobId"];
    };
}, {
    readonly name: "memory_read";
    readonly description: "Read from persistent memory.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly key: {
                readonly type: "string";
                readonly description: "Memory key to read";
            };
        };
        readonly required: readonly ["key"];
    };
}, {
    readonly name: "memory_write";
    readonly description: "Write to persistent memory.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly key: {
                readonly type: "string";
                readonly description: "Memory key";
            };
            readonly value: {
                readonly type: "string";
                readonly description: "Value to store";
            };
        };
        readonly required: readonly ["key", "value"];
    };
}, {
    readonly name: "memory_search";
    readonly description: "Search persistent memory by query.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly query: {
                readonly type: "string";
                readonly description: "Search query";
            };
        };
        readonly required: readonly ["query"];
    };
}, {
    readonly name: "web_search";
    readonly description: "Search the web for information.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly query: {
                readonly type: "string";
                readonly description: "Search query";
            };
        };
        readonly required: readonly ["query"];
    };
}, {
    readonly name: "web_fetch";
    readonly description: "Fetch content from a URL.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly url: {
                readonly type: "string";
                readonly description: "URL to fetch";
            };
        };
        readonly required: readonly ["url"];
    };
}, {
    readonly name: "team_status";
    readonly description: "Get status of all agent team members.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {};
    };
}, {
    readonly name: "team_message";
    readonly description: "Send a message to another team member agent.";
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly targetAgentId: {
                readonly type: "string";
                readonly description: "Target agent ID";
            };
            readonly message: {
                readonly type: "string";
                readonly description: "Message to send";
            };
        };
        readonly required: readonly ["targetAgentId", "message"];
    };
}];
export declare class McpBridge {
    private bridgeScriptPath;
    constructor(distDir: string);
    /**
     * Check whether an ACP agent supports MCP server injection.
     */
    canInjectMcp(capabilities?: AgentCapabilities): boolean;
    /**
     * Generate the MCP server config to inject into an ACP session.
     * This config tells the ACP agent how to spawn our MCP bridge server.
     *
     * @param parentRpcPort - Port/path for the bridge to call back to qlogicagent
     * @param sessionId - Current session ID for scoping
     */
    getMcpServerConfig(parentRpcPort: string, sessionId: string): McpServerConfig;
    /**
     * Get the list of tools that the MCP bridge will expose.
     * Can be used for display or capability checking.
     */
    getExportedTools(): typeof MCP_BRIDGE_TOOLS;
}
