declare const _default: "\n\nexport class URL {\n  constructor(url, base) {\n    const parser = __parseURL(url,base)\n    this.href = parser.href;\n    this.protocol = parser.protocol;\n    this.host = parser.host;\n    this.hostname = parser.hostname;\n    this.port = parser.port;\n    this.pathname = parser.pathname;\n    this.search = parser.search;\n    this.searchParams = new URLSearchParams(parser.search)\n    this.hash = parser.hash;\n    this.username = parser.username;\n    this.password = parser.password;\n    this.origin = parser.protocol+'//'+parser.host;\n  }\n\n  toString() {\n    return this.href;\n  }\n\n  toJSON() {\n    return this.href;\n  }\n}\n\n\n\n\nexport class URLSearchParams {\n  constructor(init = '') {\n    this.params = {};\n\n    if (typeof init === 'string') {\n      this._parseFromString(init);\n    } else if (init instanceof URLSearchParams) {\n      init.forEach((value, key) => this.append(key, value));\n    } else if (typeof init === 'object') {\n      Object.keys(init).forEach(key => this.append(key, init[key]));\n    }\n  }\n\n  _parseFromString(query) {\n    if (query.startsWith('?')) {\n      query = query.slice(1);\n    }\n    query.split('&').forEach(pair => {\n      const [key, value] = pair.split('=').map(decodeURIComponent);\n      this.append(key, value);\n    });\n  }\n\n  append(key, value) {\n    if (!this.params[key]) {\n      this.params[key] = [];\n    }\n    this.params[key].push(value);\n  }\n\n  delete(key) {\n    delete this.params[key];\n  }\n\n  get(key) {\n    return this.params[key] ? this.params[key][0] : null;\n  }\n\n  getAll(key) {\n    return this.params[key] || [];\n  }\n\n  has(key) {\n    return this.params.hasOwnProperty(key);\n  }\n\n  set(key, value) {\n    this.params[key] = [value];\n  }\n\n  toString() {\n    return Object.keys(this.params)\n      .map(key => this.params[key]\n        .map(value => encodeURIComponent(key)+'='+encodeURIComponent(value))\n        .join('&'))\n      .join('&');\n  }\n\n  forEach(callback, thisArg) {\n    Object.keys(this.params).forEach(key => {\n      this.params[key].forEach(value => {\n        callback.call(thisArg, value, key, this);\n      });\n    });\n  }\n}\n\nglobalThis.URLSearchParams = URLSearchParams;\nglobalThis.URL = URL;\n\n\nexport default { URLSearchParams, URL }\n";
export default _default;
