import { EventEmitter } from 'node:events'; import IP from '@amuject/ip'; interface PingOptions { host: IP | string; timeout?: 2000 | number; filterBogon?: boolean; resolveDNS?: boolean; dnsServer?: '1.1.1.1' | '8.8.8.8' | '8.8.4.4' | string; } interface PingTarget { ip: IP; } interface PingResult { error?: Error | string; type: string | null; status: string | null; host: string | null; ip: IP | null; ips: IP[]; time: number; toPrimitiveJSON?(): JSONPingResult; } interface JSONPingResult { error?: Error | string; type: string | null; status: string | null; host: string | null; ip: string | null; ips: string[]; time: number; } declare abstract class Ping extends EventEmitter { #private; options: PingOptions; target: PingTarget; result: PingResult; afterConstructor(options: PingOptions): void; ready(): Promise; } export default Ping; export { Ping, PingOptions, PingTarget, PingResult };