import { type HtmlRenderable } from "./view.js";
export type HeaderMap = Headers | Record;
export interface BetterPortalHeaderTrustOptions {
trustedProxyHeaders?: boolean;
cfProxy?: boolean;
}
export type BetterPortalHostCandidateSource = "host" | "authority" | "forwarded" | "x-forwarded-host" | "x-original-host" | "original-host" | "cf-connecting-host" | "cf-original-host" | "origin" | "referer" | "alt-used";
export type BetterPortalHostResolutionMode = "theme" | "service";
export interface BetterPortalHostCandidate {
source: BetterPortalHostCandidateSource;
value: string;
host: string;
}
export declare function headerLookup(headers: HeaderMap, key: string): string | undefined;
export declare function hostFromHeaderValue(value?: string): string | null;
export declare function buildHostCandidates(headers: HeaderMap, mode: BetterPortalHostResolutionMode, options?: BetterPortalHeaderTrustOptions): BetterPortalHostCandidate[];
export declare function resolveEmbeddedSourceHeader(headers: HeaderMap, options?: BetterPortalHeaderTrustOptions): string | undefined;
export declare function resolveThemeSourceHeader(headers: HeaderMap, options?: BetterPortalHeaderTrustOptions): string | undefined;
export declare function resolveEmbeddedHostname(headers: HeaderMap, options?: BetterPortalHeaderTrustOptions): string | null;
export declare function resolveThemeHostname(headers: HeaderMap, options?: BetterPortalHeaderTrustOptions): string | null;
export declare function toHtmlString(body: HtmlRenderable): string;
//# sourceMappingURL=http.d.ts.map