import { type RetryFetchOptions } from './retryFetch.js'; import type { FetchFn } from './types.js'; export type EgressVerdict = { allowed: true; } | { allowed: false; reason: string; }; export declare class EgressBlockedError extends Error { constructor(reason: string); } export interface EgressGuardOptions { lookupFn?: (hostname: string) => Promise; allowPrivateHosts?: boolean; } export declare function privateHostsAllowed(): boolean; export declare function checkEgressTarget(rawUrl: string, opts?: EgressGuardOptions): Promise; export declare function assertEgressAllowed(rawUrl: string, opts?: EgressGuardOptions): Promise; export interface GuardedFetchOptions extends EgressGuardOptions { retry?: RetryFetchOptions; } export declare function guardedFetch(fetchFn: FetchFn, url: string, init?: RequestInit, opts?: GuardedFetchOptions): Promise;