import type { Tool } from '../core/tools/tool-types.js'; type HostAddressResolver = (hostname: string) => Promise; export interface WebFetchOptions { maxBytes?: number; maxTextChars?: number; timeoutMs?: number; blockPrivateNetwork?: boolean; allowHosts?: string[]; allowPrivateHosts?: string[] | (() => string[]); userAgent?: string; resolveHostAddresses?: HostAddressResolver; } export declare function resolveHostIp(hostname: string, resolver?: HostAddressResolver): Promise; export declare function isPrivateHost(hostname: string, resolver?: HostAddressResolver): Promise; export declare function detectSpaShellNote(html: string, extractedText: string): string | null; /** * Keep paragraphs that match focus keywords (lightweight "extract instruction"). * Falls back to the head of the document when nothing matches. * @internal exported for tests */ export declare function focusExtractText(text: string, focus: string, maxChars: number): string; export declare function createWebFetchTool(opts?: WebFetchOptions): Tool<{ url: string; /** Optional keywords/topic to keep matching sections (lightweight extract). */ focus?: string; max_chars?: number; }>; export {}; //# sourceMappingURL=web-fetch.d.ts.map