// Automatically generated from TypeScript type definitions provided by
// DefinitelyTyped (https://github.com/DefinitelyTyped/DefinitelyTyped),
// which is licensed under the MIT license; see file DefinitelyTyped-LICENSE
// in parent directory.
// Type definitions for Node.js 10.5.x
// Project: http://nodejs.org/
// Definitions by: Microsoft TypeScript
// DefinitelyTyped
// Parambir Singh
// Christian Vaagland Tellnes
// Wilco Bakker
// Nicolas Voigt
// Chigozirim C.
// Flarna
// Mariusz Wiktorczyk
// wwwy3y3
// Deividas Bakanas
// Kelvin Jin
// Alvis HT Tang
// Sebastian Silbermann
// Hannes Magnusson
// Alberto Schiabel
// Klaus Meinhardt
// Huw
// Nicolas Even
// Bruno Scheufler
// Mohsen Azimi
// Hong Vn Khi
// Alexander T.
// Lishude
// Andrew Makarov
// Zane Hannan AU
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/**
* @externs
* @fileoverview Definitions for module "dns"
*/
var dns = {};
/**
* @interface
*/
dns.MxRecord = function() {};
/**
* @type {string}
*/
dns.MxRecord.prototype.exchange;
/**
* @type {number}
*/
dns.MxRecord.prototype.priority;
/**
* @param {string} domain
* @param {number} family
* @param {(function(Error, string, number): void)} callback
* @return {string}
*/
dns.lookup = function(domain, family, callback) {};
/**
* @param {string} domain
* @param {(function(Error, string, number): void)} callback
* @return {string}
*/
dns.lookup = function(domain, callback) {};
/**
* @param {string} domain
* @param {string} rrtype
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolve = function(domain, rrtype, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolve = function(domain, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolve4 = function(domain, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolve6 = function(domain, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolveMx = function(domain, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolveTxt = function(domain, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolveSrv = function(domain, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolveNs = function(domain, callback) {};
/**
* @param {string} domain
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.resolveCname = function(domain, callback) {};
/**
* @param {string} ip
* @param {(function(Error, Array): void)} callback
* @return {Array}
*/
dns.reverse = function(ip, callback) {};
/**
* @param {Array} servers
* @return {void}
*/
dns.setServers = function(servers) {};
/**
* @type {string}
*/
dns.NODATA;
/**
* @type {string}
*/
dns.FORMERR;
/**
* @type {string}
*/
dns.SERVFAIL;
/**
* @type {string}
*/
dns.NOTFOUND;
/**
* @type {string}
*/
dns.NOTIMP;
/**
* @type {string}
*/
dns.REFUSED;
/**
* @type {string}
*/
dns.BADQUERY;
/**
* @type {string}
*/
dns.BADNAME;
/**
* @type {string}
*/
dns.BADFAMILY;
/**
* @type {string}
*/
dns.BADRESP;
/**
* @type {string}
*/
dns.CONNREFUSED;
/**
* @type {string}
*/
dns.TIMEOUT;
/**
* @type {string}
*/
dns.EOF;
/**
* @type {string}
*/
dns.FILE;
/**
* @type {string}
*/
dns.NOMEM;
/**
* @type {string}
*/
dns.DESTRUCTION;
/**
* @type {string}
*/
dns.BADSTR;
/**
* @type {string}
*/
dns.BADFLAGS;
/**
* @type {string}
*/
dns.NONAME;
/**
* @type {string}
*/
dns.BADHINTS;
/**
* @type {string}
*/
dns.NOTINITIALIZED;
/**
* @type {string}
*/
dns.LOADIPHLPAPI;
/**
* @type {string}
*/
dns.ADDRGETNETWORKPARAMS;
/**
* @type {string}
*/
dns.CANCELLED;
module.exports.MxRecord = dns.MxRecord;
module.exports.lookup = dns.lookup;
module.exports.lookup = dns.lookup;
module.exports.resolve = dns.resolve;
module.exports.resolve = dns.resolve;
module.exports.resolve4 = dns.resolve4;
module.exports.resolve6 = dns.resolve6;
module.exports.resolveMx = dns.resolveMx;
module.exports.resolveTxt = dns.resolveTxt;
module.exports.resolveSrv = dns.resolveSrv;
module.exports.resolveNs = dns.resolveNs;
module.exports.resolveCname = dns.resolveCname;
module.exports.reverse = dns.reverse;
module.exports.setServers = dns.setServers;
module.exports.NODATA = dns.NODATA;
module.exports.FORMERR = dns.FORMERR;
module.exports.SERVFAIL = dns.SERVFAIL;
module.exports.NOTFOUND = dns.NOTFOUND;
module.exports.NOTIMP = dns.NOTIMP;
module.exports.REFUSED = dns.REFUSED;
module.exports.BADQUERY = dns.BADQUERY;
module.exports.BADNAME = dns.BADNAME;
module.exports.BADFAMILY = dns.BADFAMILY;
module.exports.BADRESP = dns.BADRESP;
module.exports.CONNREFUSED = dns.CONNREFUSED;
module.exports.TIMEOUT = dns.TIMEOUT;
module.exports.EOF = dns.EOF;
module.exports.FILE = dns.FILE;
module.exports.NOMEM = dns.NOMEM;
module.exports.DESTRUCTION = dns.DESTRUCTION;
module.exports.BADSTR = dns.BADSTR;
module.exports.BADFLAGS = dns.BADFLAGS;
module.exports.NONAME = dns.NONAME;
module.exports.BADHINTS = dns.BADHINTS;
module.exports.NOTINITIALIZED = dns.NOTINITIALIZED;
module.exports.LOADIPHLPAPI = dns.LOADIPHLPAPI;
module.exports.ADDRGETNETWORKPARAMS = dns.ADDRGETNETWORKPARAMS;
module.exports.CANCELLED = dns.CANCELLED;