export declare class WebFetchError extends Error { constructor(message: string); } export interface WebFetchOptions { timeoutSeconds?: number; signal?: AbortSignal; userAgent?: string; /** * Bypass SSRF private-host/IP blocking. Used only by tests that spin up a * local mock HTTP server; never exposed through the `web_fetch` tool schema. */ allowPrivateHosts?: boolean; } export interface WebFetchResult { url: string; finalUrl: string; contentType: string; content: string; contentLengthBytes: number; } /** * Validate a URL with SSRF protection. * * Throws WebFetchError for invalid URLs, non-http(s) protocols, blocked * hostnames, or hostnames that resolve to private IP addresses. */ export declare function validateUrl(urlStr: string, allowPrivateHosts?: boolean): Promise; /** Validate that the Content-Type is readable text, not binary media. */ export declare function validateContentType(contentType: string): void; /** * Fetch a public URL and return its decoded text content. */ export declare function fetchWebPage(url: string, opts?: WebFetchOptions): Promise; //# sourceMappingURL=fetcher.d.ts.map