/**
 * PublicIp class for detecting public IPv4 and IPv6 addresses
 * Uses multiple fallback services for reliability
 */
export declare class PublicIp {
    private readonly services;
    private readonly timeout;
    private readonly logger;
    constructor(options?: {
        timeout?: number;
    });
    /**
     * Get public IPv4 address
     */
    getPublicIpv4(): Promise<string | null>;
    /**
     * Get public IPv6 address
     */
    getPublicIpv6(): Promise<string | null>;
    /**
     * Get both IPv4 and IPv6 addresses
     */
    getPublicIps(): Promise<{
        v4: string | null;
        v6: string | null;
    }>;
    /**
     * Fetch IP from a service URL
     */
    private fetchIpFromService;
    /**
     * Validate IPv4 address format
     */
    private isValidIpv4;
    /**
     * Validate IPv6 address format
     */
    private isValidIpv6;
}
