// 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 "querystring"
*/
var querystring = {};
/**
* @interface
*/
querystring.StringifyOptions = function() {};
/**
* @type {Function}
*/
querystring.StringifyOptions.prototype.encodeURIComponent;
/**
* @interface
*/
querystring.ParseOptions = function() {};
/**
* @type {number}
*/
querystring.ParseOptions.prototype.maxKeys;
/**
* @type {Function}
*/
querystring.ParseOptions.prototype.decodeURIComponent;
/**
* @template T
* @param {T} obj
* @param {string=} sep
* @param {string=} eq
* @param {querystring.StringifyOptions=} options
* @return {string}
*/
querystring.stringify = function(obj, sep, eq, options) {};
/**
* @param {string} str
* @param {string=} sep
* @param {string=} eq
* @param {querystring.ParseOptions=} options
* @return {*}
*/
querystring.parse = function(str, sep, eq, options) {};
/**
* @template T
* @param {string} str
* @param {string=} sep
* @param {string=} eq
* @param {querystring.ParseOptions=} options
* @return {T}
*/
querystring.parse = function(str, sep, eq, options) {};
/**
* @param {string} str
* @return {string}
*/
querystring.escape = function(str) {};
/**
* @param {string} str
* @return {string}
*/
querystring.unescape = function(str) {};
module.exports.StringifyOptions = querystring.StringifyOptions;
module.exports.ParseOptions = querystring.ParseOptions;
module.exports.stringify = querystring.stringify;
module.exports.parse = querystring.parse;
module.exports.parse = querystring.parse;
module.exports.escape = querystring.escape;
module.exports.unescape = querystring.unescape;
/**
* @param {Buffer} s
* @param {boolean} decodeSpaces
* @return {void}
*/
querystring.unescapeBuffer = function(s, decodeSpaces) {};
module.exports.unescapeBuffer = querystring.unescapeBuffer;