/**
 * @fileoverview Provides functions for creating and configuring MCP StdioClientTransport.
 * This module is responsible for instantiating and setting up the StdioClientTransport
 * from the @modelcontextprotocol/sdk, which is used to communicate with local MCP
 * server processes via their standard input/output streams.
 * @module src/mcp-client/transports/stdioClientTransport
 */
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
import { RequestContext } from "../../utils/index.js";
/**
 * Configuration options specifically required for creating a `StdioClientTransport`
 * (from the `@modelcontextprotocol/sdk`).
 * This includes the command to execute the server process, arguments to pass to it,
 * and optional environment variables for the server's execution context.
 */
export interface StdioTransportConfig {
    command: string;
    args: string[];
    env?: Record<string, string>;
}
/**
 * Creates and configures a `StdioClientTransport` instance (from the `@modelcontextprotocol/sdk`)
 * for launching and communicating with an MCP server process via its standard input and output streams.
 *
 * @param transportConfig - Configuration containing the command, arguments,
 *                                                 and environment variables for the server process.
 * @param parentContext - Optional parent request context for logging and tracing.
 * @returns A configured `StdioClientTransport` instance, ready to be connected.
 * @throws {McpError} If the provided `transportConfig` is invalid (e.g., missing command)
 *                    or if the transport fails to initialize for other reasons.
 */
export declare function createStdioClientTransport(transportConfig: StdioTransportConfig, parentContext?: RequestContext | null): StdioClientTransport;
