import dgram from 'node:dgram'; import EventEmitter from 'node:events'; import type { AddressInfo } from 'node:net'; import { AnsiLogger } from 'node-ansi-logger'; export interface DgramEvents { error: [error: Error]; close: []; connect: []; message: [msg: Buffer, rinfo: dgram.RemoteInfo]; listening: [address: AddressInfo]; sent: [msg: Buffer, serverAddress: string, serverPort: number]; ready: [address: AddressInfo]; bound: [address: AddressInfo]; } export declare class Dgram extends EventEmitter { verbose: boolean; debug: boolean; silent: boolean; log: AnsiLogger; socket: dgram.Socket; bound: boolean; socketType: 'udp4' | 'udp6'; interfaceName?: string; interfaceAddress?: string; interfaceNetmask?: string; excludedInterfaceNamePattern: RegExp; constructor(name: string, socketType: 'udp4' | 'udp6', reuseAddr?: boolean | undefined, interfaceName?: string, interfaceAddress?: string); send(msg: Buffer, serverAddress: string, serverPort: number): void; onError(error: Error): void; onClose(): void; onConnect(): void; onSent(msg: Buffer, serverAddress: string, serverPort: number): void; onMessage(msg: Buffer, rinfo: dgram.RemoteInfo): void; onListening(address: AddressInfo): void; onReady(address: AddressInfo): void; getIpv4InterfaceAddress(networkInterface?: string): string | undefined; getIpv6InterfaceAddress(networkInterface?: string): string | undefined; getInterfacesNames(): string[]; getIpv6ScopeId(interfaceName?: string): string; getInterfaceNameFromScopeId(scopeId: number): string | undefined; getNetmask(interfaceAddress: string): string | undefined; getIpv4BroadcastAddress(ipAddress: string | undefined, netmask: string | undefined): string | undefined; getIpv6BroadcastAddress(): string; listNetworkInterfaces(): void; }