import http from "node:http"; import type { RedirectHop } from "./types.js"; export declare const SCANNER_USER_AGENT = "ExternalPostureInsight/1.0"; export interface RequestHeadResult { statusCode: number; headers: http.IncomingHttpHeaders; elapsedMs: number; } export interface RequestTextResult { statusCode: number; headers: http.IncomingHttpHeaders; body: string; } export interface RequestJsonResult { statusCode: number; headers: http.IncomingHttpHeaders; body: string; json: T | null; } export type RequestTextFn = (targetUrl: URL, extraHeaders?: Record) => Promise; export type RequestJsonFn = (targetUrl: URL, extraHeaders?: Record) => Promise; interface RequestOptions { timeoutMs?: number; } export declare function requestOnce(targetUrl: URL, method?: string, options?: RequestOptions): Promise; export declare function requestWithHeaders(targetUrl: URL, method?: string, extraHeaders?: Record, options?: RequestOptions): Promise; export declare function requestText(targetUrl: URL, extraHeaders?: Record, options?: RequestOptions): Promise; export declare function requestJson(targetUrl: URL, extraHeaders?: Record, options?: RequestOptions): Promise; export declare function fetchWithRedirects(initialUrl: URL, redirectLimit?: number, options?: RequestOptions): Promise<{ finalUrl: URL; redirects: RedirectHop[]; response: RequestHeadResult; }>; export {};