import { type RemotePattern } from '@astrojs/internal-helpers/remote'; /** * Parses a potentially comma-separated multi-value header (as produced by * proxy chains) and returns the first value, trimmed of whitespace. * Returns `undefined` when the header is absent or empty. */ export declare function getFirstForwardedValue(multiValueHeader: string | string[] | undefined): string | undefined; /** * Validate a host against allowedDomains. * Returns the host only if it matches an allowed pattern; otherwise, undefined. * This prevents SSRF attacks by ensuring the Host header is trusted. */ export declare function validateHost(host: string | undefined, protocol: string, allowedDomains?: Partial[]): string | undefined; /** * Validate forwarded headers (proto, host, port) against allowedDomains. * Returns validated values or undefined for rejected headers. * Uses strict defaults: http/https only for proto, rejects port if not in allowedDomains. */ export declare function validateForwardedHeaders(forwardedProtocol?: string, forwardedHost?: string, forwardedPort?: string, allowedDomains?: Partial[]): { protocol?: string; host?: string; port?: string; };