import type http from "node:http"; import type { ApiSurfaceInfo, CorsSecurityInfo, ExposureSummary, PublicSignalsInfo } from "./types.js"; type ResponseHeaders = http.IncomingHttpHeaders; interface RequestHeadResult { statusCode: number; headers: ResponseHeaders; elapsedMs: number; } interface RequestTextResult { statusCode: number; headers: ResponseHeaders; body: string; } interface RedirectResult { response: RequestHeadResult | RequestTextResult; finalUrl: URL; } interface HomepageContext { signature?: string | null; pageTitle?: string | null; } interface SurfaceDeps { exposureProbes: Array<{ label: string; path: string; }>; apiSurfaceProbes: Array<{ label: string; path: string; }>; requestOnce: (targetUrl: URL, method?: string) => Promise; requestText: (targetUrl: URL, extraHeaders?: Record) => Promise; requestWithHeaders: (targetUrl: URL, method: string, extraHeaders?: Record) => Promise; fetchWithRedirects: (initialUrl: URL, redirectLimit?: number) => Promise; headerValue: (headers: ResponseHeaders, name: string) => string | null; formatErrorMessage: (error: unknown) => string; isAccessDeniedHtml: (headers: ResponseHeaders, body: string) => boolean; classifyHtmlApiFallback: (probePath: string, finalUrl: URL, resolvedUrl: URL, body: string, homepageSignature: string, homepageTitle: string | null) => boolean; } export declare const fetchPublicSignals: (host: string, deps: Pick) => Promise; export declare const analyzeExposure: (finalUrl: URL, homepageContext: HomepageContext | null | undefined, deps: Pick) => Promise; export declare const analyzeCorsSecurity: (finalUrl: URL, responseHeaders: ResponseHeaders, deps: Pick) => Promise; export declare const analyzeApiSurface: (finalUrl: URL, homepageContext: HomepageContext | null | undefined, deps: Pick) => Promise; export {};