namespace address { function ip(interfaceName?: string): string function ipv6(interfaceName?: string): string function mac(callback: (err: Error, addr: string) => void): void function mac(interfaceName: string, callback: (err: Error, addr: string) => void): void function dns(callback: (err: Error, servers: string[]) => void): void function dns(filePath: string, callback: (err: Error, servers: string[]) => void): void } function address(callback: (err: Error, addr: { ip: string, ipv6: string, mac: string }) => void): void function address(interfaceName: string, callback: (err: Error, addr: { ip: string, ipv6: string, mac: string }) => void): void export = address