export declare abstract class IpAddress { protected readonly bytes: number[]; static of(ip: string): IpAddress; static fromByteArray(bytes: number[]): IpAddress; protected constructor(bytes: number[]); toByteArray(): number[]; next(): IpAddress; prev(): IpAddress; compareTo(other: IpAddress): number; toString(): string; abstract version(): string; abstract regularNotation(): string; abstract shortNotation(): string; abstract fullNotation(): string; } export declare class Ipv4Address extends IpAddress { constructor(bytes: number[]); version(): string; regularNotation(): string; shortNotation(): string; fullNotation(): string; } export declare class Ipv6Address extends IpAddress { constructor(bytes: number[]); version(): string; regularNotation(): string; shortNotation(): string; fullNotation(): string; } export declare class Cidr { readonly prefix: IpAddress; readonly prefixLen: number; constructor(prefix: IpAddress, prefixLen: number); private checkArgs; toString(): string; toIpRange(): IpRange; } export declare class IpRange { readonly startIpAddr: IpAddress; readonly endIpAddr: IpAddress; constructor(startIpAddr: IpAddress, endIpAddr: IpAddress); private checkArgs; toString(): string; toCidrs(): Cidr[]; }