export type NetworkLookupAddress = {
    address: string;
    family?: number;
};
export type NetworkLookup = (hostname: string) => Promise<NetworkLookupAddress[]>;
export type NetworkGuardOptions = {
    targetLabel: string;
    lookup?: NetworkLookup;
    maxRedirects?: number;
    pinnedFetchImpl?: typeof fetch;
};
export declare function assertNetworkTargetAllowed(rawUrl: string, options: Pick<NetworkGuardOptions, "targetLabel" | "lookup">): Promise<void>;
export declare function createNetworkGuardedFetch(fetchImpl: typeof fetch, { targetLabel, lookup, maxRedirects, pinnedFetchImpl, }: NetworkGuardOptions): typeof fetch;
