export interface UrlSafetyResult { safe: boolean; reason?: string; } /** * Check whether a URL is safe to fetch (not targeting private/internal addresses). * * Blocks: * - Cloud metadata endpoints (always, non-negotiable) * - Private/loopback/link-local IP addresses * - localhost and internal hostnames * - URLs with embedded credentials * - Non-HTTP(S) schemes * * Returns `{ safe: true }` for allowed URLs, * or `{ safe: false, reason }` for blocked ones. */ export declare function checkUrlSafety(rawUrl: string): UrlSafetyResult; /** * Assert that a URL is safe to fetch. Throws on blocked URLs. * Convenience wrapper over {@link checkUrlSafety}. */ export declare function assertUrlSafe(rawUrl: string): void; export interface WebsiteBlocklistConfig { enabled?: boolean; /** Domain patterns to block (e.g. "example.com", "*.evil.org"). */ domains?: string[]; } /** * Check whether a URL is blocked by the website blocklist. * * Returns `undefined` if allowed, or a block descriptor if blocked. */ export declare function checkWebsiteBlocklist(rawUrl: string, blocklist?: WebsiteBlocklistConfig): { host: string; rule: string; message: string; } | undefined; /** * Remove base64-encoded images from text to reduce token usage. * Strips patterns like `data:image/png;base64,...` and their markdown wrappers. */ export declare function cleanBase64Images(text: string): string;