/**
 * Web Fetch Tool
 *
 * Fetches content from a specified URL.
 * Supports text, markdown, and HTML format options.
 */
import type { AgentTool } from "../types.js";
declare const webFetchSchema: import("@sinclair/typebox").TObject<{
    url: import("@sinclair/typebox").TString;
    format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"text">, import("@sinclair/typebox").TLiteral<"markdown">, import("@sinclair/typebox").TLiteral<"html">]>>;
    timeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
}>;
export interface WebFetchToolDetails {
    url: string;
    format?: "text" | "markdown" | "html";
    timeout?: number;
    contentType?: string;
    fetchedBytes?: number;
}
export interface WebFetchToolOptions {
    /** Maximum response size in bytes (default: 5MB) */
    maxResponseSize?: number;
    /** Default timeout in milliseconds (default: 30000) */
    defaultTimeout?: number;
    /** Optional proxy base URL that forwards target URL via ?url= */
    proxyUrl?: string;
}
export declare function createWebFetchTool(options?: WebFetchToolOptions): AgentTool<typeof webFetchSchema>;
/** Default web fetch tool */
export declare const webFetchTool: AgentTool<import("@sinclair/typebox").TObject<{
    url: import("@sinclair/typebox").TString;
    format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"text">, import("@sinclair/typebox").TLiteral<"markdown">, import("@sinclair/typebox").TLiteral<"html">]>>;
    timeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
}>, any>;
export {};
