export interface HttpToolConfig { method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; url: string; headers?: Record; queryParams?: Record; bodyTemplate?: Record | string; /** Request timeout in milliseconds (default: 30 000). */ timeoutMs?: number; } /** * Convert a wire-format HTTP tool config (snake_case from JSON callers) * to the internal camelCase `HttpToolConfig` interface. */ export declare function normalizeHttpToolConfig(raw: Record): HttpToolConfig; /** * Interpolate `{paramName}` placeholders in a string with values from params. * Unmatched placeholders are left as-is. */ export declare function interpolate(template: string, params: Record): string; /** * Create an async executor function for an HTTP-backed custom tool. * The returned function accepts tool parameters, interpolates them into * the HTTP config, makes the request, and returns the response body. * * Errors are returned as strings — the executor never throws. */ export declare function createHttpToolExecutor(httpConfig: HttpToolConfig): (params: Record, externalSignal?: AbortSignal) => Promise;