import type { RemoteToolSource, ToolExecutionContext } from "./types.js"; /** Maximum successful tools/list response body. */ export declare const MAX_REMOTE_MCP_TOOL_LIST_RESPONSE_BYTES: number; /** Maximum successful tools/call response body. */ export declare const MAX_REMOTE_MCP_CALL_RESPONSE_BYTES: number; /** Defensive cap on tools/list pagination to avoid unbounded cursor loops. */ export declare const MAX_REMOTE_MCP_TOOL_LIST_PAGES = 50; /** Maximum number of remote definitions admitted atomically. */ export declare const MAX_REMOTE_MCP_TOOL_DEFINITIONS = 1000; type ResolvableValue = T | ((context?: ToolExecutionContext) => T | Promise); /** Configuration used by remote MCP tool source. */ export interface RemoteMCPToolSourceConfig { id?: string; endpoint: ResolvableValue; headers?: ResolvableValue; listMethod?: string; callMethod?: string; } /** Create a remote MCP source with the framework's guarded outbound transport. */ export declare function createRemoteMCPToolSource(config: RemoteMCPToolSourceConfig): RemoteToolSource; /** Deployment-owned transport policy for trusted MCP endpoint roots. */ export interface RemoteMCPToolSourceTransportOptions { /** Complete endpoint URLs allowed to use {@link requestFetch}. */ trustedEndpoints: readonly string[]; /** Host transport captured by the trusted deployment at startup. */ requestFetch: typeof fetch; } /** * Create a remote MCP source factory with narrowly scoped host transport. * * Exact trusted endpoints and their project-scoped MCP routes use the supplied * transport. All other resolved endpoints retain the guarded outbound path. */ export declare function createRemoteMCPToolSourceFactoryWithTransport(options: RemoteMCPToolSourceTransportOptions): (config: RemoteMCPToolSourceConfig) => RemoteToolSource; export {}; //# sourceMappingURL=remote-mcp.d.ts.map