import type { IncomingMessage } from 'node:http'; /** Normalize IP for comparison (strip zone id, brackets, IPv4-mapped prefix). */ export declare function normalizeIpAddress(ip: string | undefined): string | undefined; export declare function isLoopbackIpAddress(ip: string | undefined): boolean; /** Match an IP against a CIDR or exact address string. */ export declare function isIpInCidr(ip: string, cidr: string): boolean; export declare function isTrustedProxyAddress(ip: string | undefined, trustedProxies?: string[]): boolean; export declare function resolveClientIp(params: { remoteAddr?: string; forwardedFor?: string; realIp?: string; trustedProxies?: string[]; /** Default false: only trust X-Real-IP when explicitly enabled. */ allowRealIpFallback?: boolean; }): string | undefined; export declare function resolveRequestClientIp(req?: IncomingMessage, trustedProxies?: string[], allowRealIpFallback?: boolean): string | undefined; export declare function resolveClientIpFromRequest(params: { remoteAddress?: string; getHeader: (name: string) => string | undefined; trustedProxies?: string[]; allowRealIpFallback?: boolean; }): string;