{"version":3,"sources":["jsdelivr-header.js","/npm/@appwrite.io/console@14.0.0/dist/iife/sdk.js"],"names":[],"mappings":"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,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAAiC,KAAI,QACrC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAAiC,KAAI,QACrC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACnC,EAA+B,GAAI,KACn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","file":"/npm/@appwrite.io/console@14.0.0/dist/iife/sdk.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/@appwrite.io/console@14.0.0/dist/iife/sdk.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (exports) {\n    'use strict';\n\n    /******************************************************************************\r\n    Copyright (c) Microsoft Corporation.\r\n\r\n    Permission to use, copy, modify, and/or distribute this software for any\r\n    purpose with or without fee is hereby granted.\r\n\r\n    THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n    PERFORMANCE OF THIS SOFTWARE.\r\n    ***************************************************************************** */\r\n    /* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\n\r\n    function __awaiter(thisArg, _arguments, P, generator) {\r\n        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n        return new (P || (P = Promise))(function (resolve, reject) {\r\n            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n            function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n            step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n        });\r\n    }\r\n\r\n    function __classPrivateFieldGet(receiver, state, kind, f) {\r\n        if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n        if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n        return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n    }\r\n\r\n    typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n        var e = new Error(message);\r\n        return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n    };\n\n    var _a, _ID_hexTimestamp;\n    /**\n     * Helper class to generate ID strings for resources.\n     */\n    class ID {\n        /**\n         * Uses the provided ID as the ID for the resource.\n         *\n         * @param {string} id\n         * @returns {string}\n         */\n        static custom(id) {\n            return id;\n        }\n        /**\n         * Have Appwrite generate a unique ID for you.\n         *\n         * @param {number} padding. Default is 7.\n         * @returns {string}\n         */\n        static unique(padding = 7) {\n            // Generate a unique ID with padding to have a longer ID\n            const baseId = __classPrivateFieldGet(_a, _a, \"m\", _ID_hexTimestamp).call(_a);\n            let randomPadding = '';\n            for (let i = 0; i < padding; i++) {\n                const randomHexDigit = Math.floor(Math.random() * 16).toString(16);\n                randomPadding += randomHexDigit;\n            }\n            return baseId + randomPadding;\n        }\n    }\n    _a = ID, _ID_hexTimestamp = function _ID_hexTimestamp() {\n        const now = new Date();\n        const sec = Math.floor(now.getTime() / 1000);\n        const msec = now.getMilliseconds();\n        // Convert to hexadecimal\n        const hexTimestamp = sec.toString(16) + msec.toString(16).padStart(5, '0');\n        return hexTimestamp;\n    };\n\n    function getDefaultExportFromCjs (x) {\n    \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n    }\n\n    var jsonBigint = {exports: {}};\n\n    var stringify = {exports: {}};\n\n    var bignumber$1 = {exports: {}};\n\n    var bignumber = bignumber$1.exports;\n\n    var hasRequiredBignumber;\n\n    function requireBignumber () {\n    \tif (hasRequiredBignumber) return bignumber$1.exports;\n    \thasRequiredBignumber = 1;\n    \t(function (module) {\n    (function (globalObject) {\r\n\r\n    \t\t/*\r\n    \t\t *      bignumber.js v9.3.1\r\n    \t\t *      A JavaScript library for arbitrary-precision arithmetic.\r\n    \t\t *      https://github.com/MikeMcl/bignumber.js\r\n    \t\t *      Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>\r\n    \t\t *      MIT Licensed.\r\n    \t\t *\r\n    \t\t *      BigNumber.prototype methods     |  BigNumber methods\r\n    \t\t *                                      |\r\n    \t\t *      absoluteValue            abs    |  clone\r\n    \t\t *      comparedTo                      |  config               set\r\n    \t\t *      decimalPlaces            dp     |      DECIMAL_PLACES\r\n    \t\t *      dividedBy                div    |      ROUNDING_MODE\r\n    \t\t *      dividedToIntegerBy       idiv   |      EXPONENTIAL_AT\r\n    \t\t *      exponentiatedBy          pow    |      RANGE\r\n    \t\t *      integerValue                    |      CRYPTO\r\n    \t\t *      isEqualTo                eq     |      MODULO_MODE\r\n    \t\t *      isFinite                        |      POW_PRECISION\r\n    \t\t *      isGreaterThan            gt     |      FORMAT\r\n    \t\t *      isGreaterThanOrEqualTo   gte    |      ALPHABET\r\n    \t\t *      isInteger                       |  isBigNumber\r\n    \t\t *      isLessThan               lt     |  maximum              max\r\n    \t\t *      isLessThanOrEqualTo      lte    |  minimum              min\r\n    \t\t *      isNaN                           |  random\r\n    \t\t *      isNegative                      |  sum\r\n    \t\t *      isPositive                      |\r\n    \t\t *      isZero                          |\r\n    \t\t *      minus                           |\r\n    \t\t *      modulo                   mod    |\r\n    \t\t *      multipliedBy             times  |\r\n    \t\t *      negated                         |\r\n    \t\t *      plus                            |\r\n    \t\t *      precision                sd     |\r\n    \t\t *      shiftedBy                       |\r\n    \t\t *      squareRoot               sqrt   |\r\n    \t\t *      toExponential                   |\r\n    \t\t *      toFixed                         |\r\n    \t\t *      toFormat                        |\r\n    \t\t *      toFraction                      |\r\n    \t\t *      toJSON                          |\r\n    \t\t *      toNumber                        |\r\n    \t\t *      toPrecision                     |\r\n    \t\t *      toString                        |\r\n    \t\t *      valueOf                         |\r\n    \t\t *\r\n    \t\t */\r\n\r\n\r\n    \t\t  var BigNumber,\r\n    \t\t    isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n    \t\t    mathceil = Math.ceil,\r\n    \t\t    mathfloor = Math.floor,\r\n\r\n    \t\t    bignumberError = '[BigNumber Error] ',\r\n    \t\t    tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n    \t\t    BASE = 1e14,\r\n    \t\t    LOG_BASE = 14,\r\n    \t\t    MAX_SAFE_INTEGER = 0x1fffffffffffff,         // 2^53 - 1\r\n    \t\t    // MAX_INT32 = 0x7fffffff,                   // 2^31 - 1\r\n    \t\t    POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n    \t\t    SQRT_BASE = 1e7,\r\n\r\n    \t\t    // EDITABLE\r\n    \t\t    // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n    \t\t    // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n    \t\t    MAX = 1E9;                                   // 0 to MAX_INT32\r\n\r\n\r\n    \t\t  /*\r\n    \t\t   * Create and return a BigNumber constructor.\r\n    \t\t   */\r\n    \t\t  function clone(configObject) {\r\n    \t\t    var div, convertBase, parseNumeric,\r\n    \t\t      P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n    \t\t      ONE = new BigNumber(1),\r\n\r\n\r\n    \t\t      //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n    \t\t      // The default values below must be integers within the inclusive ranges stated.\r\n    \t\t      // The values can also be changed at run-time using BigNumber.set.\r\n\r\n    \t\t      // The maximum number of decimal places for operations involving division.\r\n    \t\t      DECIMAL_PLACES = 20,                     // 0 to MAX\r\n\r\n    \t\t      // The rounding mode used when rounding to the above decimal places, and when using\r\n    \t\t      // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n    \t\t      // UP         0 Away from zero.\r\n    \t\t      // DOWN       1 Towards zero.\r\n    \t\t      // CEIL       2 Towards +Infinity.\r\n    \t\t      // FLOOR      3 Towards -Infinity.\r\n    \t\t      // HALF_UP    4 Towards nearest neighbour. If equidistant, up.\r\n    \t\t      // HALF_DOWN  5 Towards nearest neighbour. If equidistant, down.\r\n    \t\t      // HALF_EVEN  6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n    \t\t      // HALF_CEIL  7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n    \t\t      // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n    \t\t      ROUNDING_MODE = 4,                       // 0 to 8\r\n\r\n    \t\t      // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n    \t\t      // The exponent value at and beneath which toString returns exponential notation.\r\n    \t\t      // Number type: -7\r\n    \t\t      TO_EXP_NEG = -7,                         // 0 to -MAX\r\n\r\n    \t\t      // The exponent value at and above which toString returns exponential notation.\r\n    \t\t      // Number type: 21\r\n    \t\t      TO_EXP_POS = 21,                         // 0 to MAX\r\n\r\n    \t\t      // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n    \t\t      // The minimum exponent value, beneath which underflow to zero occurs.\r\n    \t\t      // Number type: -324  (5e-324)\r\n    \t\t      MIN_EXP = -1e7,                          // -1 to -MAX\r\n\r\n    \t\t      // The maximum exponent value, above which overflow to Infinity occurs.\r\n    \t\t      // Number type:  308  (1.7976931348623157e+308)\r\n    \t\t      // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n    \t\t      MAX_EXP = 1e7,                           // 1 to MAX\r\n\r\n    \t\t      // Whether to use cryptographically-secure random number generation, if available.\r\n    \t\t      CRYPTO = false,                          // true or false\r\n\r\n    \t\t      // The modulo mode used when calculating the modulus: a mod n.\r\n    \t\t      // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n    \t\t      // The remainder (r) is calculated as: r = a - n * q.\r\n    \t\t      //\r\n    \t\t      // UP        0 The remainder is positive if the dividend is negative, else is negative.\r\n    \t\t      // DOWN      1 The remainder has the same sign as the dividend.\r\n    \t\t      //             This modulo mode is commonly known as 'truncated division' and is\r\n    \t\t      //             equivalent to (a % n) in JavaScript.\r\n    \t\t      // FLOOR     3 The remainder has the same sign as the divisor (Python %).\r\n    \t\t      // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n    \t\t      // EUCLID    9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n    \t\t      //             The remainder is always positive.\r\n    \t\t      //\r\n    \t\t      // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n    \t\t      // modes are commonly used for the modulus operation.\r\n    \t\t      // Although the other rounding modes can also be used, they may not give useful results.\r\n    \t\t      MODULO_MODE = 1,                         // 0 to 9\r\n\r\n    \t\t      // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n    \t\t      // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n    \t\t      POW_PRECISION = 0,                       // 0 to MAX\r\n\r\n    \t\t      // The format specification used by the BigNumber.prototype.toFormat method.\r\n    \t\t      FORMAT = {\r\n    \t\t        prefix: '',\r\n    \t\t        groupSize: 3,\r\n    \t\t        secondaryGroupSize: 0,\r\n    \t\t        groupSeparator: ',',\r\n    \t\t        decimalSeparator: '.',\r\n    \t\t        fractionGroupSize: 0,\r\n    \t\t        fractionGroupSeparator: '\\xA0',        // non-breaking space\r\n    \t\t        suffix: ''\r\n    \t\t      },\r\n\r\n    \t\t      // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n    \t\t      // '-', '.', whitespace, or repeated character.\r\n    \t\t      // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n    \t\t      ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n    \t\t      alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n    \t\t    //------------------------------------------------------------------------------------------\r\n\r\n\r\n    \t\t    // CONSTRUCTOR\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * The BigNumber constructor and exported function.\r\n    \t\t     * Create and return a new instance of a BigNumber object.\r\n    \t\t     *\r\n    \t\t     * v {number|string|BigNumber} A numeric value.\r\n    \t\t     * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n    \t\t     */\r\n    \t\t    function BigNumber(v, b) {\r\n    \t\t      var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n    \t\t        x = this;\r\n\r\n    \t\t      // Enable constructor call without `new`.\r\n    \t\t      if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n    \t\t      if (b == null) {\r\n\r\n    \t\t        if (v && v._isBigNumber === true) {\r\n    \t\t          x.s = v.s;\r\n\r\n    \t\t          if (!v.c || v.e > MAX_EXP) {\r\n    \t\t            x.c = x.e = null;\r\n    \t\t          } else if (v.e < MIN_EXP) {\r\n    \t\t            x.c = [x.e = 0];\r\n    \t\t          } else {\r\n    \t\t            x.e = v.e;\r\n    \t\t            x.c = v.c.slice();\r\n    \t\t          }\r\n\r\n    \t\t          return;\r\n    \t\t        }\r\n\r\n    \t\t        if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n    \t\t          // Use `1 / n` to handle minus zero also.\r\n    \t\t          x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n    \t\t          // Fast path for integers, where n < 2147483648 (2**31).\r\n    \t\t          if (v === ~~v) {\r\n    \t\t            for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n    \t\t            if (e > MAX_EXP) {\r\n    \t\t              x.c = x.e = null;\r\n    \t\t            } else {\r\n    \t\t              x.e = e;\r\n    \t\t              x.c = [v];\r\n    \t\t            }\r\n\r\n    \t\t            return;\r\n    \t\t          }\r\n\r\n    \t\t          str = String(v);\r\n    \t\t        } else {\r\n\r\n    \t\t          if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n    \t\t          x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n    \t\t        }\r\n\r\n    \t\t        // Decimal point?\r\n    \t\t        if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n    \t\t        // Exponential form?\r\n    \t\t        if ((i = str.search(/e/i)) > 0) {\r\n\r\n    \t\t          // Determine exponent.\r\n    \t\t          if (e < 0) e = i;\r\n    \t\t          e += +str.slice(i + 1);\r\n    \t\t          str = str.substring(0, i);\r\n    \t\t        } else if (e < 0) {\r\n\r\n    \t\t          // Integer.\r\n    \t\t          e = str.length;\r\n    \t\t        }\r\n\r\n    \t\t      } else {\r\n\r\n    \t\t        // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n    \t\t        intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n    \t\t        // Allow exponential notation to be used with base 10 argument, while\r\n    \t\t        // also rounding to DECIMAL_PLACES as with other bases.\r\n    \t\t        if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n    \t\t          x = new BigNumber(v);\r\n    \t\t          return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n    \t\t        }\r\n\r\n    \t\t        str = String(v);\r\n\r\n    \t\t        if (isNum = typeof v == 'number') {\r\n\r\n    \t\t          // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n    \t\t          if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n    \t\t          x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n    \t\t          // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n    \t\t          if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n    \t\t            throw Error\r\n    \t\t             (tooManyDigits + v);\r\n    \t\t          }\r\n    \t\t        } else {\r\n    \t\t          x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n    \t\t        }\r\n\r\n    \t\t        alphabet = ALPHABET.slice(0, b);\r\n    \t\t        e = i = 0;\r\n\r\n    \t\t        // Check that str is a valid base b number.\r\n    \t\t        // Don't use RegExp, so alphabet can contain special characters.\r\n    \t\t        for (len = str.length; i < len; i++) {\r\n    \t\t          if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n    \t\t            if (c == '.') {\r\n\r\n    \t\t              // If '.' is not the first character and it has not be found before.\r\n    \t\t              if (i > e) {\r\n    \t\t                e = len;\r\n    \t\t                continue;\r\n    \t\t              }\r\n    \t\t            } else if (!caseChanged) {\r\n\r\n    \t\t              // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n    \t\t              if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n    \t\t                  str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n    \t\t                caseChanged = true;\r\n    \t\t                i = -1;\r\n    \t\t                e = 0;\r\n    \t\t                continue;\r\n    \t\t              }\r\n    \t\t            }\r\n\r\n    \t\t            return parseNumeric(x, String(v), isNum, b);\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        // Prevent later check for length on converted number.\r\n    \t\t        isNum = false;\r\n    \t\t        str = convertBase(str, b, 10, x.s);\r\n\r\n    \t\t        // Decimal point?\r\n    \t\t        if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n    \t\t        else e = str.length;\r\n    \t\t      }\r\n\r\n    \t\t      // Determine leading zeros.\r\n    \t\t      for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n    \t\t      // Determine trailing zeros.\r\n    \t\t      for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n    \t\t      if (str = str.slice(i, ++len)) {\r\n    \t\t        len -= i;\r\n\r\n    \t\t        // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n    \t\t        if (isNum && BigNumber.DEBUG &&\r\n    \t\t          len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n    \t\t            throw Error\r\n    \t\t             (tooManyDigits + (x.s * v));\r\n    \t\t        }\r\n\r\n    \t\t         // Overflow?\r\n    \t\t        if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n    \t\t          // Infinity.\r\n    \t\t          x.c = x.e = null;\r\n\r\n    \t\t        // Underflow?\r\n    \t\t        } else if (e < MIN_EXP) {\r\n\r\n    \t\t          // Zero.\r\n    \t\t          x.c = [x.e = 0];\r\n    \t\t        } else {\r\n    \t\t          x.e = e;\r\n    \t\t          x.c = [];\r\n\r\n    \t\t          // Transform base\r\n\r\n    \t\t          // e is the base 10 exponent.\r\n    \t\t          // i is where to slice str to get the first element of the coefficient array.\r\n    \t\t          i = (e + 1) % LOG_BASE;\r\n    \t\t          if (e < 0) i += LOG_BASE;  // i < 1\r\n\r\n    \t\t          if (i < len) {\r\n    \t\t            if (i) x.c.push(+str.slice(0, i));\r\n\r\n    \t\t            for (len -= LOG_BASE; i < len;) {\r\n    \t\t              x.c.push(+str.slice(i, i += LOG_BASE));\r\n    \t\t            }\r\n\r\n    \t\t            i = LOG_BASE - (str = str.slice(i)).length;\r\n    \t\t          } else {\r\n    \t\t            i -= len;\r\n    \t\t          }\r\n\r\n    \t\t          for (; i--; str += '0');\r\n    \t\t          x.c.push(+str);\r\n    \t\t        }\r\n    \t\t      } else {\r\n\r\n    \t\t        // Zero.\r\n    \t\t        x.c = [x.e = 0];\r\n    \t\t      }\r\n    \t\t    }\r\n\r\n\r\n    \t\t    // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n    \t\t    BigNumber.clone = clone;\r\n\r\n    \t\t    BigNumber.ROUND_UP = 0;\r\n    \t\t    BigNumber.ROUND_DOWN = 1;\r\n    \t\t    BigNumber.ROUND_CEIL = 2;\r\n    \t\t    BigNumber.ROUND_FLOOR = 3;\r\n    \t\t    BigNumber.ROUND_HALF_UP = 4;\r\n    \t\t    BigNumber.ROUND_HALF_DOWN = 5;\r\n    \t\t    BigNumber.ROUND_HALF_EVEN = 6;\r\n    \t\t    BigNumber.ROUND_HALF_CEIL = 7;\r\n    \t\t    BigNumber.ROUND_HALF_FLOOR = 8;\r\n    \t\t    BigNumber.EUCLID = 9;\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Configure infrequently-changing library-wide settings.\r\n    \t\t     *\r\n    \t\t     * Accept an object with the following optional properties (if the value of a property is\r\n    \t\t     * a number, it must be an integer within the inclusive range stated):\r\n    \t\t     *\r\n    \t\t     *   DECIMAL_PLACES   {number}           0 to MAX\r\n    \t\t     *   ROUNDING_MODE    {number}           0 to 8\r\n    \t\t     *   EXPONENTIAL_AT   {number|number[]}  -MAX to MAX  or  [-MAX to 0, 0 to MAX]\r\n    \t\t     *   RANGE            {number|number[]}  -MAX to MAX (not zero)  or  [-MAX to -1, 1 to MAX]\r\n    \t\t     *   CRYPTO           {boolean}          true or false\r\n    \t\t     *   MODULO_MODE      {number}           0 to 9\r\n    \t\t     *   POW_PRECISION       {number}           0 to MAX\r\n    \t\t     *   ALPHABET         {string}           A string of two or more unique characters which does\r\n    \t\t     *                                       not contain '.'.\r\n    \t\t     *   FORMAT           {object}           An object with some of the following properties:\r\n    \t\t     *     prefix                 {string}\r\n    \t\t     *     groupSize              {number}\r\n    \t\t     *     secondaryGroupSize     {number}\r\n    \t\t     *     groupSeparator         {string}\r\n    \t\t     *     decimalSeparator       {string}\r\n    \t\t     *     fractionGroupSize      {number}\r\n    \t\t     *     fractionGroupSeparator {string}\r\n    \t\t     *     suffix                 {string}\r\n    \t\t     *\r\n    \t\t     * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n    \t\t     *\r\n    \t\t     * E.g.\r\n    \t\t     * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n    \t\t     *\r\n    \t\t     * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n    \t\t     *\r\n    \t\t     * Return an object with the properties current values.\r\n    \t\t     */\r\n    \t\t    BigNumber.config = BigNumber.set = function (obj) {\r\n    \t\t      var p, v;\r\n\r\n    \t\t      if (obj != null) {\r\n\r\n    \t\t        if (typeof obj == 'object') {\r\n\r\n    \t\t          // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n    \t\t          // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            intCheck(v, 0, MAX, p);\r\n    \t\t            DECIMAL_PLACES = v;\r\n    \t\t          }\r\n\r\n    \t\t          // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n    \t\t          // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            intCheck(v, 0, 8, p);\r\n    \t\t            ROUNDING_MODE = v;\r\n    \t\t          }\r\n\r\n    \t\t          // EXPONENTIAL_AT {number|number[]}\r\n    \t\t          // Integer, -MAX to MAX inclusive or\r\n    \t\t          // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n    \t\t          // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            if (v && v.pop) {\r\n    \t\t              intCheck(v[0], -MAX, 0, p);\r\n    \t\t              intCheck(v[1], 0, MAX, p);\r\n    \t\t              TO_EXP_NEG = v[0];\r\n    \t\t              TO_EXP_POS = v[1];\r\n    \t\t            } else {\r\n    \t\t              intCheck(v, -MAX, MAX, p);\r\n    \t\t              TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n    \t\t            }\r\n    \t\t          }\r\n\r\n    \t\t          // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n    \t\t          // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n    \t\t          // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'RANGE')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            if (v && v.pop) {\r\n    \t\t              intCheck(v[0], -MAX, -1, p);\r\n    \t\t              intCheck(v[1], 1, MAX, p);\r\n    \t\t              MIN_EXP = v[0];\r\n    \t\t              MAX_EXP = v[1];\r\n    \t\t            } else {\r\n    \t\t              intCheck(v, -MAX, MAX, p);\r\n    \t\t              if (v) {\r\n    \t\t                MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n    \t\t              } else {\r\n    \t\t                throw Error\r\n    \t\t                 (bignumberError + p + ' cannot be zero: ' + v);\r\n    \t\t              }\r\n    \t\t            }\r\n    \t\t          }\r\n\r\n    \t\t          // CRYPTO {boolean} true or false.\r\n    \t\t          // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n    \t\t          // '[BigNumber Error] crypto unavailable'\r\n    \t\t          if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            if (v === !!v) {\r\n    \t\t              if (v) {\r\n    \t\t                if (typeof crypto != 'undefined' && crypto &&\r\n    \t\t                 (crypto.getRandomValues || crypto.randomBytes)) {\r\n    \t\t                  CRYPTO = v;\r\n    \t\t                } else {\r\n    \t\t                  CRYPTO = !v;\r\n    \t\t                  throw Error\r\n    \t\t                   (bignumberError + 'crypto unavailable');\r\n    \t\t                }\r\n    \t\t              } else {\r\n    \t\t                CRYPTO = v;\r\n    \t\t              }\r\n    \t\t            } else {\r\n    \t\t              throw Error\r\n    \t\t               (bignumberError + p + ' not true or false: ' + v);\r\n    \t\t            }\r\n    \t\t          }\r\n\r\n    \t\t          // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n    \t\t          // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            intCheck(v, 0, 9, p);\r\n    \t\t            MODULO_MODE = v;\r\n    \t\t          }\r\n\r\n    \t\t          // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n    \t\t          // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            intCheck(v, 0, MAX, p);\r\n    \t\t            POW_PRECISION = v;\r\n    \t\t          }\r\n\r\n    \t\t          // FORMAT {object}\r\n    \t\t          // '[BigNumber Error] FORMAT not an object: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n    \t\t            v = obj[p];\r\n    \t\t            if (typeof v == 'object') FORMAT = v;\r\n    \t\t            else throw Error\r\n    \t\t             (bignumberError + p + ' not an object: ' + v);\r\n    \t\t          }\r\n\r\n    \t\t          // ALPHABET {string}\r\n    \t\t          // '[BigNumber Error] ALPHABET invalid: {v}'\r\n    \t\t          if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n    \t\t            v = obj[p];\r\n\r\n    \t\t            // Disallow if less than two characters,\r\n    \t\t            // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n    \t\t            if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n    \t\t              alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n    \t\t              ALPHABET = v;\r\n    \t\t            } else {\r\n    \t\t              throw Error\r\n    \t\t               (bignumberError + p + ' invalid: ' + v);\r\n    \t\t            }\r\n    \t\t          }\r\n\r\n    \t\t        } else {\r\n\r\n    \t\t          // '[BigNumber Error] Object expected: {v}'\r\n    \t\t          throw Error\r\n    \t\t           (bignumberError + 'Object expected: ' + obj);\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      return {\r\n    \t\t        DECIMAL_PLACES: DECIMAL_PLACES,\r\n    \t\t        ROUNDING_MODE: ROUNDING_MODE,\r\n    \t\t        EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n    \t\t        RANGE: [MIN_EXP, MAX_EXP],\r\n    \t\t        CRYPTO: CRYPTO,\r\n    \t\t        MODULO_MODE: MODULO_MODE,\r\n    \t\t        POW_PRECISION: POW_PRECISION,\r\n    \t\t        FORMAT: FORMAT,\r\n    \t\t        ALPHABET: ALPHABET\r\n    \t\t      };\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if v is a BigNumber instance, otherwise return false.\r\n    \t\t     *\r\n    \t\t     * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n    \t\t     *\r\n    \t\t     * v {any}\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Invalid BigNumber: {v}'\r\n    \t\t     */\r\n    \t\t    BigNumber.isBigNumber = function (v) {\r\n    \t\t      if (!v || v._isBigNumber !== true) return false;\r\n    \t\t      if (!BigNumber.DEBUG) return true;\r\n\r\n    \t\t      var i, n,\r\n    \t\t        c = v.c,\r\n    \t\t        e = v.e,\r\n    \t\t        s = v.s;\r\n\r\n    \t\t      out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n    \t\t        if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n    \t\t          // If the first element is zero, the BigNumber value must be zero.\r\n    \t\t          if (c[0] === 0) {\r\n    \t\t            if (e === 0 && c.length === 1) return true;\r\n    \t\t            break out;\r\n    \t\t          }\r\n\r\n    \t\t          // Calculate number of digits that c[0] should have, based on the exponent.\r\n    \t\t          i = (e + 1) % LOG_BASE;\r\n    \t\t          if (i < 1) i += LOG_BASE;\r\n\r\n    \t\t          // Calculate number of digits of c[0].\r\n    \t\t          //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n    \t\t          if (String(c[0]).length == i) {\r\n\r\n    \t\t            for (i = 0; i < c.length; i++) {\r\n    \t\t              n = c[i];\r\n    \t\t              if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n    \t\t            }\r\n\r\n    \t\t            // Last element cannot be zero, unless it is the only element.\r\n    \t\t            if (n !== 0) return true;\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t      // Infinity/NaN\r\n    \t\t      } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n    \t\t        return true;\r\n    \t\t      }\r\n\r\n    \t\t      throw Error\r\n    \t\t        (bignumberError + 'Invalid BigNumber: ' + v);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber whose value is the maximum of the arguments.\r\n    \t\t     *\r\n    \t\t     * arguments {number|string|BigNumber}\r\n    \t\t     */\r\n    \t\t    BigNumber.maximum = BigNumber.max = function () {\r\n    \t\t      return maxOrMin(arguments, -1);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber whose value is the minimum of the arguments.\r\n    \t\t     *\r\n    \t\t     * arguments {number|string|BigNumber}\r\n    \t\t     */\r\n    \t\t    BigNumber.minimum = BigNumber.min = function () {\r\n    \t\t      return maxOrMin(arguments, 1);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n    \t\t     * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n    \t\t     * zeros are produced).\r\n    \t\t     *\r\n    \t\t     * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n    \t\t     * '[BigNumber Error] crypto unavailable'\r\n    \t\t     */\r\n    \t\t    BigNumber.random = (function () {\r\n    \t\t      var pow2_53 = 0x20000000000000;\r\n\r\n    \t\t      // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n    \t\t      // Check if Math.random() produces more than 32 bits of randomness.\r\n    \t\t      // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n    \t\t      // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n    \t\t      var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n    \t\t       ? function () { return mathfloor(Math.random() * pow2_53); }\r\n    \t\t       : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n    \t\t         (Math.random() * 0x800000 | 0); };\r\n\r\n    \t\t      return function (dp) {\r\n    \t\t        var a, b, e, k, v,\r\n    \t\t          i = 0,\r\n    \t\t          c = [],\r\n    \t\t          rand = new BigNumber(ONE);\r\n\r\n    \t\t        if (dp == null) dp = DECIMAL_PLACES;\r\n    \t\t        else intCheck(dp, 0, MAX);\r\n\r\n    \t\t        k = mathceil(dp / LOG_BASE);\r\n\r\n    \t\t        if (CRYPTO) {\r\n\r\n    \t\t          // Browsers supporting crypto.getRandomValues.\r\n    \t\t          if (crypto.getRandomValues) {\r\n\r\n    \t\t            a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n    \t\t            for (; i < k;) {\r\n\r\n    \t\t              // 53 bits:\r\n    \t\t              // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n    \t\t              // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n    \t\t              // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n    \t\t              //                                     11111 11111111 11111111\r\n    \t\t              // 0x20000 is 2^21.\r\n    \t\t              v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n    \t\t              // Rejection sampling:\r\n    \t\t              // 0 <= v < 9007199254740992\r\n    \t\t              // Probability that v >= 9e15, is\r\n    \t\t              // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n    \t\t              if (v >= 9e15) {\r\n    \t\t                b = crypto.getRandomValues(new Uint32Array(2));\r\n    \t\t                a[i] = b[0];\r\n    \t\t                a[i + 1] = b[1];\r\n    \t\t              } else {\r\n\r\n    \t\t                // 0 <= v <= 8999999999999999\r\n    \t\t                // 0 <= (v % 1e14) <= 99999999999999\r\n    \t\t                c.push(v % 1e14);\r\n    \t\t                i += 2;\r\n    \t\t              }\r\n    \t\t            }\r\n    \t\t            i = k / 2;\r\n\r\n    \t\t          // Node.js supporting crypto.randomBytes.\r\n    \t\t          } else if (crypto.randomBytes) {\r\n\r\n    \t\t            // buffer\r\n    \t\t            a = crypto.randomBytes(k *= 7);\r\n\r\n    \t\t            for (; i < k;) {\r\n\r\n    \t\t              // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n    \t\t              // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n    \t\t              // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n    \t\t              // 0 <= v < 9007199254740992\r\n    \t\t              v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n    \t\t                 (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n    \t\t                 (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n    \t\t              if (v >= 9e15) {\r\n    \t\t                crypto.randomBytes(7).copy(a, i);\r\n    \t\t              } else {\r\n\r\n    \t\t                // 0 <= (v % 1e14) <= 99999999999999\r\n    \t\t                c.push(v % 1e14);\r\n    \t\t                i += 7;\r\n    \t\t              }\r\n    \t\t            }\r\n    \t\t            i = k / 7;\r\n    \t\t          } else {\r\n    \t\t            CRYPTO = false;\r\n    \t\t            throw Error\r\n    \t\t             (bignumberError + 'crypto unavailable');\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        // Use Math.random.\r\n    \t\t        if (!CRYPTO) {\r\n\r\n    \t\t          for (; i < k;) {\r\n    \t\t            v = random53bitInt();\r\n    \t\t            if (v < 9e15) c[i++] = v % 1e14;\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        k = c[--i];\r\n    \t\t        dp %= LOG_BASE;\r\n\r\n    \t\t        // Convert trailing digits to zeros according to dp.\r\n    \t\t        if (k && dp) {\r\n    \t\t          v = POWS_TEN[LOG_BASE - dp];\r\n    \t\t          c[i] = mathfloor(k / v) * v;\r\n    \t\t        }\r\n\r\n    \t\t        // Remove trailing elements which are zero.\r\n    \t\t        for (; c[i] === 0; c.pop(), i--);\r\n\r\n    \t\t        // Zero?\r\n    \t\t        if (i < 0) {\r\n    \t\t          c = [e = 0];\r\n    \t\t        } else {\r\n\r\n    \t\t          // Remove leading elements which are zero and adjust exponent accordingly.\r\n    \t\t          for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n    \t\t          // Count the digits of the first element of c to determine leading zeros, and...\r\n    \t\t          for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n    \t\t          // adjust the exponent accordingly.\r\n    \t\t          if (i < LOG_BASE) e -= LOG_BASE - i;\r\n    \t\t        }\r\n\r\n    \t\t        rand.e = e;\r\n    \t\t        rand.c = c;\r\n    \t\t        return rand;\r\n    \t\t      };\r\n    \t\t    })();\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a BigNumber whose value is the sum of the arguments.\r\n    \t\t     *\r\n    \t\t     * arguments {number|string|BigNumber}\r\n    \t\t     */\r\n    \t\t    BigNumber.sum = function () {\r\n    \t\t      var i = 1,\r\n    \t\t        args = arguments,\r\n    \t\t        sum = new BigNumber(args[0]);\r\n    \t\t      for (; i < args.length;) sum = sum.plus(args[i++]);\r\n    \t\t      return sum;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    // PRIVATE FUNCTIONS\r\n\r\n\r\n    \t\t    // Called by BigNumber and BigNumber.prototype.toString.\r\n    \t\t    convertBase = (function () {\r\n    \t\t      var decimal = '0123456789';\r\n\r\n    \t\t      /*\r\n    \t\t       * Convert string of baseIn to an array of numbers of baseOut.\r\n    \t\t       * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n    \t\t       * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n    \t\t       */\r\n    \t\t      function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n    \t\t        var j,\r\n    \t\t          arr = [0],\r\n    \t\t          arrL,\r\n    \t\t          i = 0,\r\n    \t\t          len = str.length;\r\n\r\n    \t\t        for (; i < len;) {\r\n    \t\t          for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n    \t\t          arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n    \t\t          for (j = 0; j < arr.length; j++) {\r\n\r\n    \t\t            if (arr[j] > baseOut - 1) {\r\n    \t\t              if (arr[j + 1] == null) arr[j + 1] = 0;\r\n    \t\t              arr[j + 1] += arr[j] / baseOut | 0;\r\n    \t\t              arr[j] %= baseOut;\r\n    \t\t            }\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        return arr.reverse();\r\n    \t\t      }\r\n\r\n    \t\t      // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n    \t\t      // If the caller is toString, we are converting from base 10 to baseOut.\r\n    \t\t      // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n    \t\t      return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n    \t\t        var alphabet, d, e, k, r, x, xc, y,\r\n    \t\t          i = str.indexOf('.'),\r\n    \t\t          dp = DECIMAL_PLACES,\r\n    \t\t          rm = ROUNDING_MODE;\r\n\r\n    \t\t        // Non-integer.\r\n    \t\t        if (i >= 0) {\r\n    \t\t          k = POW_PRECISION;\r\n\r\n    \t\t          // Unlimited precision.\r\n    \t\t          POW_PRECISION = 0;\r\n    \t\t          str = str.replace('.', '');\r\n    \t\t          y = new BigNumber(baseIn);\r\n    \t\t          x = y.pow(str.length - i);\r\n    \t\t          POW_PRECISION = k;\r\n\r\n    \t\t          // Convert str as if an integer, then restore the fraction part by dividing the\r\n    \t\t          // result by its base raised to a power.\r\n\r\n    \t\t          y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n    \t\t           10, baseOut, decimal);\r\n    \t\t          y.e = y.c.length;\r\n    \t\t        }\r\n\r\n    \t\t        // Convert the number as integer.\r\n\r\n    \t\t        xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n    \t\t         ? (alphabet = ALPHABET, decimal)\r\n    \t\t         : (alphabet = decimal, ALPHABET));\r\n\r\n    \t\t        // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n    \t\t        e = k = xc.length;\r\n\r\n    \t\t        // Remove trailing zeros.\r\n    \t\t        for (; xc[--k] == 0; xc.pop());\r\n\r\n    \t\t        // Zero?\r\n    \t\t        if (!xc[0]) return alphabet.charAt(0);\r\n\r\n    \t\t        // Does str represent an integer? If so, no need for the division.\r\n    \t\t        if (i < 0) {\r\n    \t\t          --e;\r\n    \t\t        } else {\r\n    \t\t          x.c = xc;\r\n    \t\t          x.e = e;\r\n\r\n    \t\t          // The sign is needed for correct rounding.\r\n    \t\t          x.s = sign;\r\n    \t\t          x = div(x, y, dp, rm, baseOut);\r\n    \t\t          xc = x.c;\r\n    \t\t          r = x.r;\r\n    \t\t          e = x.e;\r\n    \t\t        }\r\n\r\n    \t\t        // xc now represents str converted to baseOut.\r\n\r\n    \t\t        // The index of the rounding digit.\r\n    \t\t        d = e + dp + 1;\r\n\r\n    \t\t        // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n    \t\t        i = xc[d];\r\n\r\n    \t\t        // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n    \t\t        k = baseOut / 2;\r\n    \t\t        r = r || d < 0 || xc[d + 1] != null;\r\n\r\n    \t\t        r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n    \t\t              : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n    \t\t               rm == (x.s < 0 ? 8 : 7));\r\n\r\n    \t\t        // If the index of the rounding digit is not greater than zero, or xc represents\r\n    \t\t        // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n    \t\t        // such as 0.00001.\r\n    \t\t        if (d < 1 || !xc[0]) {\r\n\r\n    \t\t          // 1^-dp or 0\r\n    \t\t          str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n    \t\t        } else {\r\n\r\n    \t\t          // Truncate xc to the required number of decimal places.\r\n    \t\t          xc.length = d;\r\n\r\n    \t\t          // Round up?\r\n    \t\t          if (r) {\r\n\r\n    \t\t            // Rounding up may mean the previous digit has to be rounded up and so on.\r\n    \t\t            for (--baseOut; ++xc[--d] > baseOut;) {\r\n    \t\t              xc[d] = 0;\r\n\r\n    \t\t              if (!d) {\r\n    \t\t                ++e;\r\n    \t\t                xc = [1].concat(xc);\r\n    \t\t              }\r\n    \t\t            }\r\n    \t\t          }\r\n\r\n    \t\t          // Determine trailing zeros.\r\n    \t\t          for (k = xc.length; !xc[--k];);\r\n\r\n    \t\t          // E.g. [4, 11, 15] becomes 4bf.\r\n    \t\t          for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n    \t\t          // Add leading zeros, decimal point and trailing zeros as required.\r\n    \t\t          str = toFixedPoint(str, e, alphabet.charAt(0));\r\n    \t\t        }\r\n\r\n    \t\t        // The caller will add the sign.\r\n    \t\t        return str;\r\n    \t\t      };\r\n    \t\t    })();\r\n\r\n\r\n    \t\t    // Perform division in the specified base. Called by div and convertBase.\r\n    \t\t    div = (function () {\r\n\r\n    \t\t      // Assume non-zero x and k.\r\n    \t\t      function multiply(x, k, base) {\r\n    \t\t        var m, temp, xlo, xhi,\r\n    \t\t          carry = 0,\r\n    \t\t          i = x.length,\r\n    \t\t          klo = k % SQRT_BASE,\r\n    \t\t          khi = k / SQRT_BASE | 0;\r\n\r\n    \t\t        for (x = x.slice(); i--;) {\r\n    \t\t          xlo = x[i] % SQRT_BASE;\r\n    \t\t          xhi = x[i] / SQRT_BASE | 0;\r\n    \t\t          m = khi * xlo + xhi * klo;\r\n    \t\t          temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n    \t\t          carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n    \t\t          x[i] = temp % base;\r\n    \t\t        }\r\n\r\n    \t\t        if (carry) x = [carry].concat(x);\r\n\r\n    \t\t        return x;\r\n    \t\t      }\r\n\r\n    \t\t      function compare(a, b, aL, bL) {\r\n    \t\t        var i, cmp;\r\n\r\n    \t\t        if (aL != bL) {\r\n    \t\t          cmp = aL > bL ? 1 : -1;\r\n    \t\t        } else {\r\n\r\n    \t\t          for (i = cmp = 0; i < aL; i++) {\r\n\r\n    \t\t            if (a[i] != b[i]) {\r\n    \t\t              cmp = a[i] > b[i] ? 1 : -1;\r\n    \t\t              break;\r\n    \t\t            }\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        return cmp;\r\n    \t\t      }\r\n\r\n    \t\t      function subtract(a, b, aL, base) {\r\n    \t\t        var i = 0;\r\n\r\n    \t\t        // Subtract b from a.\r\n    \t\t        for (; aL--;) {\r\n    \t\t          a[aL] -= i;\r\n    \t\t          i = a[aL] < b[aL] ? 1 : 0;\r\n    \t\t          a[aL] = i * base + a[aL] - b[aL];\r\n    \t\t        }\r\n\r\n    \t\t        // Remove leading zeros.\r\n    \t\t        for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n    \t\t      }\r\n\r\n    \t\t      // x: dividend, y: divisor.\r\n    \t\t      return function (x, y, dp, rm, base) {\r\n    \t\t        var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n    \t\t          yL, yz,\r\n    \t\t          s = x.s == y.s ? 1 : -1,\r\n    \t\t          xc = x.c,\r\n    \t\t          yc = y.c;\r\n\r\n    \t\t        // Either NaN, Infinity or 0?\r\n    \t\t        if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n    \t\t          return new BigNumber(\r\n\r\n    \t\t           // Return NaN if either NaN, or both Infinity or 0.\r\n    \t\t           !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n    \t\t            // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n    \t\t            xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n    \t\t         );\r\n    \t\t        }\r\n\r\n    \t\t        q = new BigNumber(s);\r\n    \t\t        qc = q.c = [];\r\n    \t\t        e = x.e - y.e;\r\n    \t\t        s = dp + e + 1;\r\n\r\n    \t\t        if (!base) {\r\n    \t\t          base = BASE;\r\n    \t\t          e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n    \t\t          s = s / LOG_BASE | 0;\r\n    \t\t        }\r\n\r\n    \t\t        // Result exponent may be one less then the current value of e.\r\n    \t\t        // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n    \t\t        for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n    \t\t        if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n    \t\t        if (s < 0) {\r\n    \t\t          qc.push(1);\r\n    \t\t          more = true;\r\n    \t\t        } else {\r\n    \t\t          xL = xc.length;\r\n    \t\t          yL = yc.length;\r\n    \t\t          i = 0;\r\n    \t\t          s += 2;\r\n\r\n    \t\t          // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n    \t\t          n = mathfloor(base / (yc[0] + 1));\r\n\r\n    \t\t          // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n    \t\t          // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n    \t\t          if (n > 1) {\r\n    \t\t            yc = multiply(yc, n, base);\r\n    \t\t            xc = multiply(xc, n, base);\r\n    \t\t            yL = yc.length;\r\n    \t\t            xL = xc.length;\r\n    \t\t          }\r\n\r\n    \t\t          xi = yL;\r\n    \t\t          rem = xc.slice(0, yL);\r\n    \t\t          remL = rem.length;\r\n\r\n    \t\t          // Add zeros to make remainder as long as divisor.\r\n    \t\t          for (; remL < yL; rem[remL++] = 0);\r\n    \t\t          yz = yc.slice();\r\n    \t\t          yz = [0].concat(yz);\r\n    \t\t          yc0 = yc[0];\r\n    \t\t          if (yc[1] >= base / 2) yc0++;\r\n    \t\t          // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n    \t\t          // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n    \t\t          do {\r\n    \t\t            n = 0;\r\n\r\n    \t\t            // Compare divisor and remainder.\r\n    \t\t            cmp = compare(yc, rem, yL, remL);\r\n\r\n    \t\t            // If divisor < remainder.\r\n    \t\t            if (cmp < 0) {\r\n\r\n    \t\t              // Calculate trial digit, n.\r\n\r\n    \t\t              rem0 = rem[0];\r\n    \t\t              if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n    \t\t              // n is how many times the divisor goes into the current remainder.\r\n    \t\t              n = mathfloor(rem0 / yc0);\r\n\r\n    \t\t              //  Algorithm:\r\n    \t\t              //  product = divisor multiplied by trial digit (n).\r\n    \t\t              //  Compare product and remainder.\r\n    \t\t              //  If product is greater than remainder:\r\n    \t\t              //    Subtract divisor from product, decrement trial digit.\r\n    \t\t              //  Subtract product from remainder.\r\n    \t\t              //  If product was less than remainder at the last compare:\r\n    \t\t              //    Compare new remainder and divisor.\r\n    \t\t              //    If remainder is greater than divisor:\r\n    \t\t              //      Subtract divisor from remainder, increment trial digit.\r\n\r\n    \t\t              if (n > 1) {\r\n\r\n    \t\t                // n may be > base only when base is 3.\r\n    \t\t                if (n >= base) n = base - 1;\r\n\r\n    \t\t                // product = divisor * trial digit.\r\n    \t\t                prod = multiply(yc, n, base);\r\n    \t\t                prodL = prod.length;\r\n    \t\t                remL = rem.length;\r\n\r\n    \t\t                // Compare product and remainder.\r\n    \t\t                // If product > remainder then trial digit n too high.\r\n    \t\t                // n is 1 too high about 5% of the time, and is not known to have\r\n    \t\t                // ever been more than 1 too high.\r\n    \t\t                while (compare(prod, rem, prodL, remL) == 1) {\r\n    \t\t                  n--;\r\n\r\n    \t\t                  // Subtract divisor from product.\r\n    \t\t                  subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n    \t\t                  prodL = prod.length;\r\n    \t\t                  cmp = 1;\r\n    \t\t                }\r\n    \t\t              } else {\r\n\r\n    \t\t                // n is 0 or 1, cmp is -1.\r\n    \t\t                // If n is 0, there is no need to compare yc and rem again below,\r\n    \t\t                // so change cmp to 1 to avoid it.\r\n    \t\t                // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n    \t\t                if (n == 0) {\r\n\r\n    \t\t                  // divisor < remainder, so n must be at least 1.\r\n    \t\t                  cmp = n = 1;\r\n    \t\t                }\r\n\r\n    \t\t                // product = divisor\r\n    \t\t                prod = yc.slice();\r\n    \t\t                prodL = prod.length;\r\n    \t\t              }\r\n\r\n    \t\t              if (prodL < remL) prod = [0].concat(prod);\r\n\r\n    \t\t              // Subtract product from remainder.\r\n    \t\t              subtract(rem, prod, remL, base);\r\n    \t\t              remL = rem.length;\r\n\r\n    \t\t               // If product was < remainder.\r\n    \t\t              if (cmp == -1) {\r\n\r\n    \t\t                // Compare divisor and new remainder.\r\n    \t\t                // If divisor < new remainder, subtract divisor from remainder.\r\n    \t\t                // Trial digit n too low.\r\n    \t\t                // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n    \t\t                while (compare(yc, rem, yL, remL) < 1) {\r\n    \t\t                  n++;\r\n\r\n    \t\t                  // Subtract divisor from remainder.\r\n    \t\t                  subtract(rem, yL < remL ? yz : yc, remL, base);\r\n    \t\t                  remL = rem.length;\r\n    \t\t                }\r\n    \t\t              }\r\n    \t\t            } else if (cmp === 0) {\r\n    \t\t              n++;\r\n    \t\t              rem = [0];\r\n    \t\t            } // else cmp === 1 and n will be 0\r\n\r\n    \t\t            // Add the next digit, n, to the result array.\r\n    \t\t            qc[i++] = n;\r\n\r\n    \t\t            // Update the remainder.\r\n    \t\t            if (rem[0]) {\r\n    \t\t              rem[remL++] = xc[xi] || 0;\r\n    \t\t            } else {\r\n    \t\t              rem = [xc[xi]];\r\n    \t\t              remL = 1;\r\n    \t\t            }\r\n    \t\t          } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n    \t\t          more = rem[0] != null;\r\n\r\n    \t\t          // Leading zero?\r\n    \t\t          if (!qc[0]) qc.splice(0, 1);\r\n    \t\t        }\r\n\r\n    \t\t        if (base == BASE) {\r\n\r\n    \t\t          // To calculate q.e, first get the number of digits of qc[0].\r\n    \t\t          for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n    \t\t          round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n    \t\t        // Caller is convertBase.\r\n    \t\t        } else {\r\n    \t\t          q.e = e;\r\n    \t\t          q.r = +more;\r\n    \t\t        }\r\n\r\n    \t\t        return q;\r\n    \t\t      };\r\n    \t\t    })();\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n    \t\t     * notation rounded to the specified decimal places or significant digits.\r\n    \t\t     *\r\n    \t\t     * n: a BigNumber.\r\n    \t\t     * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n    \t\t     * rm: the rounding mode.\r\n    \t\t     * id: 1 (toExponential) or 2 (toPrecision).\r\n    \t\t     */\r\n    \t\t    function format(n, i, rm, id) {\r\n    \t\t      var c0, e, ne, len, str;\r\n\r\n    \t\t      if (rm == null) rm = ROUNDING_MODE;\r\n    \t\t      else intCheck(rm, 0, 8);\r\n\r\n    \t\t      if (!n.c) return n.toString();\r\n\r\n    \t\t      c0 = n.c[0];\r\n    \t\t      ne = n.e;\r\n\r\n    \t\t      if (i == null) {\r\n    \t\t        str = coeffToString(n.c);\r\n    \t\t        str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n    \t\t         ? toExponential(str, ne)\r\n    \t\t         : toFixedPoint(str, ne, '0');\r\n    \t\t      } else {\r\n    \t\t        n = round(new BigNumber(n), i, rm);\r\n\r\n    \t\t        // n.e may have changed if the value was rounded up.\r\n    \t\t        e = n.e;\r\n\r\n    \t\t        str = coeffToString(n.c);\r\n    \t\t        len = str.length;\r\n\r\n    \t\t        // toPrecision returns exponential notation if the number of significant digits\r\n    \t\t        // specified is less than the number of digits necessary to represent the integer\r\n    \t\t        // part of the value in fixed-point notation.\r\n\r\n    \t\t        // Exponential notation.\r\n    \t\t        if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n    \t\t          // Append zeros?\r\n    \t\t          for (; len < i; str += '0', len++);\r\n    \t\t          str = toExponential(str, e);\r\n\r\n    \t\t        // Fixed-point notation.\r\n    \t\t        } else {\r\n    \t\t          i -= ne + (id === 2 && e > ne);\r\n    \t\t          str = toFixedPoint(str, e, '0');\r\n\r\n    \t\t          // Append zeros?\r\n    \t\t          if (e + 1 > len) {\r\n    \t\t            if (--i > 0) for (str += '.'; i--; str += '0');\r\n    \t\t          } else {\r\n    \t\t            i += e - len;\r\n    \t\t            if (i > 0) {\r\n    \t\t              if (e + 1 == len) str += '.';\r\n    \t\t              for (; i--; str += '0');\r\n    \t\t            }\r\n    \t\t          }\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      return n.s < 0 && c0 ? '-' + str : str;\r\n    \t\t    }\r\n\r\n\r\n    \t\t    // Handle BigNumber.max and BigNumber.min.\r\n    \t\t    // If any number is NaN, return NaN.\r\n    \t\t    function maxOrMin(args, n) {\r\n    \t\t      var k, y,\r\n    \t\t        i = 1,\r\n    \t\t        x = new BigNumber(args[0]);\r\n\r\n    \t\t      for (; i < args.length; i++) {\r\n    \t\t        y = new BigNumber(args[i]);\r\n    \t\t        if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) {\r\n    \t\t          x = y;\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      return x;\r\n    \t\t    }\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n    \t\t     * Called by minus, plus and times.\r\n    \t\t     */\r\n    \t\t    function normalise(n, c, e) {\r\n    \t\t      var i = 1,\r\n    \t\t        j = c.length;\r\n\r\n    \t\t       // Remove trailing zeros.\r\n    \t\t      for (; !c[--j]; c.pop());\r\n\r\n    \t\t      // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n    \t\t      for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n    \t\t      // Overflow?\r\n    \t\t      if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n    \t\t        // Infinity.\r\n    \t\t        n.c = n.e = null;\r\n\r\n    \t\t      // Underflow?\r\n    \t\t      } else if (e < MIN_EXP) {\r\n\r\n    \t\t        // Zero.\r\n    \t\t        n.c = [n.e = 0];\r\n    \t\t      } else {\r\n    \t\t        n.e = e;\r\n    \t\t        n.c = c;\r\n    \t\t      }\r\n\r\n    \t\t      return n;\r\n    \t\t    }\r\n\r\n\r\n    \t\t    // Handle values that fail the validity test in BigNumber.\r\n    \t\t    parseNumeric = (function () {\r\n    \t\t      var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n    \t\t        dotAfter = /^([^.]+)\\.$/,\r\n    \t\t        dotBefore = /^\\.([^.]+)$/,\r\n    \t\t        isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n    \t\t        whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n    \t\t      return function (x, str, isNum, b) {\r\n    \t\t        var base,\r\n    \t\t          s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n    \t\t        // No exception on ±Infinity or NaN.\r\n    \t\t        if (isInfinityOrNaN.test(s)) {\r\n    \t\t          x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n    \t\t        } else {\r\n    \t\t          if (!isNum) {\r\n\r\n    \t\t            // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n    \t\t            s = s.replace(basePrefix, function (m, p1, p2) {\r\n    \t\t              base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n    \t\t              return !b || b == base ? p1 : m;\r\n    \t\t            });\r\n\r\n    \t\t            if (b) {\r\n    \t\t              base = b;\r\n\r\n    \t\t              // E.g. '1.' to '1', '.1' to '0.1'\r\n    \t\t              s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n    \t\t            }\r\n\r\n    \t\t            if (str != s) return new BigNumber(s, base);\r\n    \t\t          }\r\n\r\n    \t\t          // '[BigNumber Error] Not a number: {n}'\r\n    \t\t          // '[BigNumber Error] Not a base {b} number: {n}'\r\n    \t\t          if (BigNumber.DEBUG) {\r\n    \t\t            throw Error\r\n    \t\t              (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n    \t\t          }\r\n\r\n    \t\t          // NaN\r\n    \t\t          x.s = null;\r\n    \t\t        }\r\n\r\n    \t\t        x.c = x.e = null;\r\n    \t\t      }\r\n    \t\t    })();\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n    \t\t     * If r is truthy, it is known that there are more digits after the rounding digit.\r\n    \t\t     */\r\n    \t\t    function round(x, sd, rm, r) {\r\n    \t\t      var d, i, j, k, n, ni, rd,\r\n    \t\t        xc = x.c,\r\n    \t\t        pows10 = POWS_TEN;\r\n\r\n    \t\t      // if x is not Infinity or NaN...\r\n    \t\t      if (xc) {\r\n\r\n    \t\t        // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n    \t\t        // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n    \t\t        // ni is the index of n within x.c.\r\n    \t\t        // d is the number of digits of n.\r\n    \t\t        // i is the index of rd within n including leading zeros.\r\n    \t\t        // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n    \t\t        out: {\r\n\r\n    \t\t          // Get the number of digits of the first element of xc.\r\n    \t\t          for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n    \t\t          i = sd - d;\r\n\r\n    \t\t          // If the rounding digit is in the first element of xc...\r\n    \t\t          if (i < 0) {\r\n    \t\t            i += LOG_BASE;\r\n    \t\t            j = sd;\r\n    \t\t            n = xc[ni = 0];\r\n\r\n    \t\t            // Get the rounding digit at index j of n.\r\n    \t\t            rd = mathfloor(n / pows10[d - j - 1] % 10);\r\n    \t\t          } else {\r\n    \t\t            ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n    \t\t            if (ni >= xc.length) {\r\n\r\n    \t\t              if (r) {\r\n\r\n    \t\t                // Needed by sqrt.\r\n    \t\t                for (; xc.length <= ni; xc.push(0));\r\n    \t\t                n = rd = 0;\r\n    \t\t                d = 1;\r\n    \t\t                i %= LOG_BASE;\r\n    \t\t                j = i - LOG_BASE + 1;\r\n    \t\t              } else {\r\n    \t\t                break out;\r\n    \t\t              }\r\n    \t\t            } else {\r\n    \t\t              n = k = xc[ni];\r\n\r\n    \t\t              // Get the number of digits of n.\r\n    \t\t              for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n    \t\t              // Get the index of rd within n.\r\n    \t\t              i %= LOG_BASE;\r\n\r\n    \t\t              // Get the index of rd within n, adjusted for leading zeros.\r\n    \t\t              // The number of leading zeros of n is given by LOG_BASE - d.\r\n    \t\t              j = i - LOG_BASE + d;\r\n\r\n    \t\t              // Get the rounding digit at index j of n.\r\n    \t\t              rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);\r\n    \t\t            }\r\n    \t\t          }\r\n\r\n    \t\t          r = r || sd < 0 ||\r\n\r\n    \t\t          // Are there any non-zero digits after the rounding digit?\r\n    \t\t          // The expression  n % pows10[d - j - 1]  returns all digits of n to the right\r\n    \t\t          // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n    \t\t           xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n    \t\t          r = rm < 4\r\n    \t\t           ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n    \t\t           : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n    \t\t            // Check whether the digit to the left of the rounding digit is odd.\r\n    \t\t            ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n    \t\t             rm == (x.s < 0 ? 8 : 7));\r\n\r\n    \t\t          if (sd < 1 || !xc[0]) {\r\n    \t\t            xc.length = 0;\r\n\r\n    \t\t            if (r) {\r\n\r\n    \t\t              // Convert sd to decimal places.\r\n    \t\t              sd -= x.e + 1;\r\n\r\n    \t\t              // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n    \t\t              xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n    \t\t              x.e = -sd || 0;\r\n    \t\t            } else {\r\n\r\n    \t\t              // Zero.\r\n    \t\t              xc[0] = x.e = 0;\r\n    \t\t            }\r\n\r\n    \t\t            return x;\r\n    \t\t          }\r\n\r\n    \t\t          // Remove excess digits.\r\n    \t\t          if (i == 0) {\r\n    \t\t            xc.length = ni;\r\n    \t\t            k = 1;\r\n    \t\t            ni--;\r\n    \t\t          } else {\r\n    \t\t            xc.length = ni + 1;\r\n    \t\t            k = pows10[LOG_BASE - i];\r\n\r\n    \t\t            // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n    \t\t            // j > 0 means i > number of leading zeros of n.\r\n    \t\t            xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n    \t\t          }\r\n\r\n    \t\t          // Round up?\r\n    \t\t          if (r) {\r\n\r\n    \t\t            for (; ;) {\r\n\r\n    \t\t              // If the digit to be rounded up is in the first element of xc...\r\n    \t\t              if (ni == 0) {\r\n\r\n    \t\t                // i will be the length of xc[0] before k is added.\r\n    \t\t                for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n    \t\t                j = xc[0] += k;\r\n    \t\t                for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n    \t\t                // if i != k the length has increased.\r\n    \t\t                if (i != k) {\r\n    \t\t                  x.e++;\r\n    \t\t                  if (xc[0] == BASE) xc[0] = 1;\r\n    \t\t                }\r\n\r\n    \t\t                break;\r\n    \t\t              } else {\r\n    \t\t                xc[ni] += k;\r\n    \t\t                if (xc[ni] != BASE) break;\r\n    \t\t                xc[ni--] = 0;\r\n    \t\t                k = 1;\r\n    \t\t              }\r\n    \t\t            }\r\n    \t\t          }\r\n\r\n    \t\t          // Remove trailing zeros.\r\n    \t\t          for (i = xc.length; xc[--i] === 0; xc.pop());\r\n    \t\t        }\r\n\r\n    \t\t        // Overflow? Infinity.\r\n    \t\t        if (x.e > MAX_EXP) {\r\n    \t\t          x.c = x.e = null;\r\n\r\n    \t\t        // Underflow? Zero.\r\n    \t\t        } else if (x.e < MIN_EXP) {\r\n    \t\t          x.c = [x.e = 0];\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      return x;\r\n    \t\t    }\r\n\r\n\r\n    \t\t    function valueOf(n) {\r\n    \t\t      var str,\r\n    \t\t        e = n.e;\r\n\r\n    \t\t      if (e === null) return n.toString();\r\n\r\n    \t\t      str = coeffToString(n.c);\r\n\r\n    \t\t      str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n    \t\t        ? toExponential(str, e)\r\n    \t\t        : toFixedPoint(str, e, '0');\r\n\r\n    \t\t      return n.s < 0 ? '-' + str : str;\r\n    \t\t    }\r\n\r\n\r\n    \t\t    // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n    \t\t     */\r\n    \t\t    P.absoluteValue = P.abs = function () {\r\n    \t\t      var x = new BigNumber(this);\r\n    \t\t      if (x.s < 0) x.s = 1;\r\n    \t\t      return x;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return\r\n    \t\t     *   1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n    \t\t     *   -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n    \t\t     *   0 if they have the same value,\r\n    \t\t     *   or null if the value of either is NaN.\r\n    \t\t     */\r\n    \t\t    P.comparedTo = function (y, b) {\r\n    \t\t      return compare(this, new BigNumber(y, b));\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * If dp is undefined or null or true or false, return the number of decimal places of the\r\n    \t\t     * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n    \t\t     *\r\n    \t\t     * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n    \t\t     * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n    \t\t     * ROUNDING_MODE if rm is omitted.\r\n    \t\t     *\r\n    \t\t     * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n    \t\t     * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n    \t\t     */\r\n    \t\t    P.decimalPlaces = P.dp = function (dp, rm) {\r\n    \t\t      var c, n, v,\r\n    \t\t        x = this;\r\n\r\n    \t\t      if (dp != null) {\r\n    \t\t        intCheck(dp, 0, MAX);\r\n    \t\t        if (rm == null) rm = ROUNDING_MODE;\r\n    \t\t        else intCheck(rm, 0, 8);\r\n\r\n    \t\t        return round(new BigNumber(x), dp + x.e + 1, rm);\r\n    \t\t      }\r\n\r\n    \t\t      if (!(c = x.c)) return null;\r\n    \t\t      n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n    \t\t      // Subtract the number of trailing zeros of the last number.\r\n    \t\t      if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n    \t\t      if (n < 0) n = 0;\r\n\r\n    \t\t      return n;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     *  n / 0 = I\r\n    \t\t     *  n / N = N\r\n    \t\t     *  n / I = 0\r\n    \t\t     *  0 / n = 0\r\n    \t\t     *  0 / 0 = N\r\n    \t\t     *  0 / N = N\r\n    \t\t     *  0 / I = 0\r\n    \t\t     *  N / n = N\r\n    \t\t     *  N / 0 = N\r\n    \t\t     *  N / N = N\r\n    \t\t     *  N / I = N\r\n    \t\t     *  I / n = I\r\n    \t\t     *  I / 0 = I\r\n    \t\t     *  I / N = N\r\n    \t\t     *  I / I = N\r\n    \t\t     *\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n    \t\t     * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n    \t\t     */\r\n    \t\t    P.dividedBy = P.div = function (y, b) {\r\n    \t\t      return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n    \t\t     * BigNumber by the value of BigNumber(y, b).\r\n    \t\t     */\r\n    \t\t    P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n    \t\t      return div(this, new BigNumber(y, b), 0, 1);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n    \t\t     *\r\n    \t\t     * If m is present, return the result modulo m.\r\n    \t\t     * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n    \t\t     * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n    \t\t     *\r\n    \t\t     * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n    \t\t     * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n    \t\t     *\r\n    \t\t     * n {number|string|BigNumber} The exponent. An integer.\r\n    \t\t     * [m] {number|string|BigNumber} The modulus.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Exponent not an integer: {n}'\r\n    \t\t     */\r\n    \t\t    P.exponentiatedBy = P.pow = function (n, m) {\r\n    \t\t      var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n    \t\t        x = this;\r\n\r\n    \t\t      n = new BigNumber(n);\r\n\r\n    \t\t      // Allow NaN and ±Infinity, but not other non-integers.\r\n    \t\t      if (n.c && !n.isInteger()) {\r\n    \t\t        throw Error\r\n    \t\t          (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n    \t\t      }\r\n\r\n    \t\t      if (m != null) m = new BigNumber(m);\r\n\r\n    \t\t      // Exponent of MAX_SAFE_INTEGER is 15.\r\n    \t\t      nIsBig = n.e > 14;\r\n\r\n    \t\t      // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n    \t\t      if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n    \t\t        // The sign of the result of pow when x is negative depends on the evenness of n.\r\n    \t\t        // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n    \t\t        y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n    \t\t        return m ? y.mod(m) : y;\r\n    \t\t      }\r\n\r\n    \t\t      nIsNeg = n.s < 0;\r\n\r\n    \t\t      if (m) {\r\n\r\n    \t\t        // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n    \t\t        if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n    \t\t        isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n    \t\t        if (isModExp) x = x.mod(m);\r\n\r\n    \t\t      // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n    \t\t      // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n    \t\t      } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n    \t\t        // [1, 240000000]\r\n    \t\t        ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n    \t\t        // [80000000000000]  [99999750000000]\r\n    \t\t        : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n    \t\t        // If x is negative and n is odd, k = -0, else k = 0.\r\n    \t\t        k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n    \t\t        // If x >= 1, k = ±Infinity.\r\n    \t\t        if (x.e > -1) k = 1 / k;\r\n\r\n    \t\t        // If n is negative return ±0, else return ±Infinity.\r\n    \t\t        return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n    \t\t      } else if (POW_PRECISION) {\r\n\r\n    \t\t        // Truncating each coefficient array to a length of k after each multiplication\r\n    \t\t        // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n    \t\t        // i.e. there will be a minimum of 28 guard digits retained.\r\n    \t\t        k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n    \t\t      }\r\n\r\n    \t\t      if (nIsBig) {\r\n    \t\t        half = new BigNumber(0.5);\r\n    \t\t        if (nIsNeg) n.s = 1;\r\n    \t\t        nIsOdd = isOdd(n);\r\n    \t\t      } else {\r\n    \t\t        i = Math.abs(+valueOf(n));\r\n    \t\t        nIsOdd = i % 2;\r\n    \t\t      }\r\n\r\n    \t\t      y = new BigNumber(ONE);\r\n\r\n    \t\t      // Performs 54 loop iterations for n of 9007199254740991.\r\n    \t\t      for (; ;) {\r\n\r\n    \t\t        if (nIsOdd) {\r\n    \t\t          y = y.times(x);\r\n    \t\t          if (!y.c) break;\r\n\r\n    \t\t          if (k) {\r\n    \t\t            if (y.c.length > k) y.c.length = k;\r\n    \t\t          } else if (isModExp) {\r\n    \t\t            y = y.mod(m);    //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        if (i) {\r\n    \t\t          i = mathfloor(i / 2);\r\n    \t\t          if (i === 0) break;\r\n    \t\t          nIsOdd = i % 2;\r\n    \t\t        } else {\r\n    \t\t          n = n.times(half);\r\n    \t\t          round(n, n.e + 1, 1);\r\n\r\n    \t\t          if (n.e > 14) {\r\n    \t\t            nIsOdd = isOdd(n);\r\n    \t\t          } else {\r\n    \t\t            i = +valueOf(n);\r\n    \t\t            if (i === 0) break;\r\n    \t\t            nIsOdd = i % 2;\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        x = x.times(x);\r\n\r\n    \t\t        if (k) {\r\n    \t\t          if (x.c && x.c.length > k) x.c.length = k;\r\n    \t\t        } else if (isModExp) {\r\n    \t\t          x = x.mod(m);    //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      if (isModExp) return y;\r\n    \t\t      if (nIsNeg) y = ONE.div(y);\r\n\r\n    \t\t      return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n    \t\t     * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n    \t\t     *\r\n    \t\t     * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n    \t\t     */\r\n    \t\t    P.integerValue = function (rm) {\r\n    \t\t      var n = new BigNumber(this);\r\n    \t\t      if (rm == null) rm = ROUNDING_MODE;\r\n    \t\t      else intCheck(rm, 0, 8);\r\n    \t\t      return round(n, n.e + 1, rm);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n    \t\t     * otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isEqualTo = P.eq = function (y, b) {\r\n    \t\t      return compare(this, new BigNumber(y, b)) === 0;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isFinite = function () {\r\n    \t\t      return !!this.c;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n    \t\t     * otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isGreaterThan = P.gt = function (y, b) {\r\n    \t\t      return compare(this, new BigNumber(y, b)) > 0;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is greater than or equal to the value of\r\n    \t\t     * BigNumber(y, b), otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n    \t\t      return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isInteger = function () {\r\n    \t\t      return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n    \t\t     * otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isLessThan = P.lt = function (y, b) {\r\n    \t\t      return compare(this, new BigNumber(y, b)) < 0;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is less than or equal to the value of\r\n    \t\t     * BigNumber(y, b), otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n    \t\t      return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isNaN = function () {\r\n    \t\t      return !this.s;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is negative, otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isNegative = function () {\r\n    \t\t      return this.s < 0;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is positive, otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isPositive = function () {\r\n    \t\t      return this.s > 0;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n    \t\t     */\r\n    \t\t    P.isZero = function () {\r\n    \t\t      return !!this.c && this.c[0] == 0;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     *  n - 0 = n\r\n    \t\t     *  n - N = N\r\n    \t\t     *  n - I = -I\r\n    \t\t     *  0 - n = -n\r\n    \t\t     *  0 - 0 = 0\r\n    \t\t     *  0 - N = N\r\n    \t\t     *  0 - I = -I\r\n    \t\t     *  N - n = N\r\n    \t\t     *  N - 0 = N\r\n    \t\t     *  N - N = N\r\n    \t\t     *  N - I = N\r\n    \t\t     *  I - n = I\r\n    \t\t     *  I - 0 = I\r\n    \t\t     *  I - N = N\r\n    \t\t     *  I - I = N\r\n    \t\t     *\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n    \t\t     * BigNumber(y, b).\r\n    \t\t     */\r\n    \t\t    P.minus = function (y, b) {\r\n    \t\t      var i, j, t, xLTy,\r\n    \t\t        x = this,\r\n    \t\t        a = x.s;\r\n\r\n    \t\t      y = new BigNumber(y, b);\r\n    \t\t      b = y.s;\r\n\r\n    \t\t      // Either NaN?\r\n    \t\t      if (!a || !b) return new BigNumber(NaN);\r\n\r\n    \t\t      // Signs differ?\r\n    \t\t      if (a != b) {\r\n    \t\t        y.s = -b;\r\n    \t\t        return x.plus(y);\r\n    \t\t      }\r\n\r\n    \t\t      var xe = x.e / LOG_BASE,\r\n    \t\t        ye = y.e / LOG_BASE,\r\n    \t\t        xc = x.c,\r\n    \t\t        yc = y.c;\r\n\r\n    \t\t      if (!xe || !ye) {\r\n\r\n    \t\t        // Either Infinity?\r\n    \t\t        if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n    \t\t        // Either zero?\r\n    \t\t        if (!xc[0] || !yc[0]) {\r\n\r\n    \t\t          // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n    \t\t          return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n    \t\t           // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n    \t\t           ROUNDING_MODE == 3 ? -0 : 0);\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      xe = bitFloor(xe);\r\n    \t\t      ye = bitFloor(ye);\r\n    \t\t      xc = xc.slice();\r\n\r\n    \t\t      // Determine which is the bigger number.\r\n    \t\t      if (a = xe - ye) {\r\n\r\n    \t\t        if (xLTy = a < 0) {\r\n    \t\t          a = -a;\r\n    \t\t          t = xc;\r\n    \t\t        } else {\r\n    \t\t          ye = xe;\r\n    \t\t          t = yc;\r\n    \t\t        }\r\n\r\n    \t\t        t.reverse();\r\n\r\n    \t\t        // Prepend zeros to equalise exponents.\r\n    \t\t        for (b = a; b--; t.push(0));\r\n    \t\t        t.reverse();\r\n    \t\t      } else {\r\n\r\n    \t\t        // Exponents equal. Check digit by digit.\r\n    \t\t        j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n    \t\t        for (a = b = 0; b < j; b++) {\r\n\r\n    \t\t          if (xc[b] != yc[b]) {\r\n    \t\t            xLTy = xc[b] < yc[b];\r\n    \t\t            break;\r\n    \t\t          }\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      // x < y? Point xc to the array of the bigger number.\r\n    \t\t      if (xLTy) {\r\n    \t\t        t = xc;\r\n    \t\t        xc = yc;\r\n    \t\t        yc = t;\r\n    \t\t        y.s = -y.s;\r\n    \t\t      }\r\n\r\n    \t\t      b = (j = yc.length) - (i = xc.length);\r\n\r\n    \t\t      // Append zeros to xc if shorter.\r\n    \t\t      // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n    \t\t      if (b > 0) for (; b--; xc[i++] = 0);\r\n    \t\t      b = BASE - 1;\r\n\r\n    \t\t      // Subtract yc from xc.\r\n    \t\t      for (; j > a;) {\r\n\r\n    \t\t        if (xc[--j] < yc[j]) {\r\n    \t\t          for (i = j; i && !xc[--i]; xc[i] = b);\r\n    \t\t          --xc[i];\r\n    \t\t          xc[j] += BASE;\r\n    \t\t        }\r\n\r\n    \t\t        xc[j] -= yc[j];\r\n    \t\t      }\r\n\r\n    \t\t      // Remove leading zeros and adjust exponent accordingly.\r\n    \t\t      for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n    \t\t      // Zero?\r\n    \t\t      if (!xc[0]) {\r\n\r\n    \t\t        // Following IEEE 754 (2008) 6.3,\r\n    \t\t        // n - n = +0  but  n - n = -0  when rounding towards -Infinity.\r\n    \t\t        y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n    \t\t        y.c = [y.e = 0];\r\n    \t\t        return y;\r\n    \t\t      }\r\n\r\n    \t\t      // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n    \t\t      // for finite x and y.\r\n    \t\t      return normalise(y, xc, ye);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     *   n % 0 =  N\r\n    \t\t     *   n % N =  N\r\n    \t\t     *   n % I =  n\r\n    \t\t     *   0 % n =  0\r\n    \t\t     *  -0 % n = -0\r\n    \t\t     *   0 % 0 =  N\r\n    \t\t     *   0 % N =  N\r\n    \t\t     *   0 % I =  0\r\n    \t\t     *   N % n =  N\r\n    \t\t     *   N % 0 =  N\r\n    \t\t     *   N % N =  N\r\n    \t\t     *   N % I =  N\r\n    \t\t     *   I % n =  N\r\n    \t\t     *   I % 0 =  N\r\n    \t\t     *   I % N =  N\r\n    \t\t     *   I % I =  N\r\n    \t\t     *\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n    \t\t     * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n    \t\t     */\r\n    \t\t    P.modulo = P.mod = function (y, b) {\r\n    \t\t      var q, s,\r\n    \t\t        x = this;\r\n\r\n    \t\t      y = new BigNumber(y, b);\r\n\r\n    \t\t      // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n    \t\t      if (!x.c || !y.s || y.c && !y.c[0]) {\r\n    \t\t        return new BigNumber(NaN);\r\n\r\n    \t\t      // Return x if y is Infinity or x is zero.\r\n    \t\t      } else if (!y.c || x.c && !x.c[0]) {\r\n    \t\t        return new BigNumber(x);\r\n    \t\t      }\r\n\r\n    \t\t      if (MODULO_MODE == 9) {\r\n\r\n    \t\t        // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n    \t\t        // r = x - qy    where  0 <= r < abs(y)\r\n    \t\t        s = y.s;\r\n    \t\t        y.s = 1;\r\n    \t\t        q = div(x, y, 0, 3);\r\n    \t\t        y.s = s;\r\n    \t\t        q.s *= s;\r\n    \t\t      } else {\r\n    \t\t        q = div(x, y, 0, MODULO_MODE);\r\n    \t\t      }\r\n\r\n    \t\t      y = x.minus(q.times(y));\r\n\r\n    \t\t      // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n    \t\t      if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n    \t\t      return y;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     *  n * 0 = 0\r\n    \t\t     *  n * N = N\r\n    \t\t     *  n * I = I\r\n    \t\t     *  0 * n = 0\r\n    \t\t     *  0 * 0 = 0\r\n    \t\t     *  0 * N = N\r\n    \t\t     *  0 * I = N\r\n    \t\t     *  N * n = N\r\n    \t\t     *  N * 0 = N\r\n    \t\t     *  N * N = N\r\n    \t\t     *  N * I = N\r\n    \t\t     *  I * n = I\r\n    \t\t     *  I * 0 = N\r\n    \t\t     *  I * N = N\r\n    \t\t     *  I * I = I\r\n    \t\t     *\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n    \t\t     * of BigNumber(y, b).\r\n    \t\t     */\r\n    \t\t    P.multipliedBy = P.times = function (y, b) {\r\n    \t\t      var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n    \t\t        base, sqrtBase,\r\n    \t\t        x = this,\r\n    \t\t        xc = x.c,\r\n    \t\t        yc = (y = new BigNumber(y, b)).c;\r\n\r\n    \t\t      // Either NaN, ±Infinity or ±0?\r\n    \t\t      if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n    \t\t        // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n    \t\t        if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n    \t\t          y.c = y.e = y.s = null;\r\n    \t\t        } else {\r\n    \t\t          y.s *= x.s;\r\n\r\n    \t\t          // Return ±Infinity if either is ±Infinity.\r\n    \t\t          if (!xc || !yc) {\r\n    \t\t            y.c = y.e = null;\r\n\r\n    \t\t          // Return ±0 if either is ±0.\r\n    \t\t          } else {\r\n    \t\t            y.c = [0];\r\n    \t\t            y.e = 0;\r\n    \t\t          }\r\n    \t\t        }\r\n\r\n    \t\t        return y;\r\n    \t\t      }\r\n\r\n    \t\t      e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n    \t\t      y.s *= x.s;\r\n    \t\t      xcL = xc.length;\r\n    \t\t      ycL = yc.length;\r\n\r\n    \t\t      // Ensure xc points to longer array and xcL to its length.\r\n    \t\t      if (xcL < ycL) {\r\n    \t\t        zc = xc;\r\n    \t\t        xc = yc;\r\n    \t\t        yc = zc;\r\n    \t\t        i = xcL;\r\n    \t\t        xcL = ycL;\r\n    \t\t        ycL = i;\r\n    \t\t      }\r\n\r\n    \t\t      // Initialise the result array with zeros.\r\n    \t\t      for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n    \t\t      base = BASE;\r\n    \t\t      sqrtBase = SQRT_BASE;\r\n\r\n    \t\t      for (i = ycL; --i >= 0;) {\r\n    \t\t        c = 0;\r\n    \t\t        ylo = yc[i] % sqrtBase;\r\n    \t\t        yhi = yc[i] / sqrtBase | 0;\r\n\r\n    \t\t        for (k = xcL, j = i + k; j > i;) {\r\n    \t\t          xlo = xc[--k] % sqrtBase;\r\n    \t\t          xhi = xc[k] / sqrtBase | 0;\r\n    \t\t          m = yhi * xlo + xhi * ylo;\r\n    \t\t          xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n    \t\t          c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n    \t\t          zc[j--] = xlo % base;\r\n    \t\t        }\r\n\r\n    \t\t        zc[j] = c;\r\n    \t\t      }\r\n\r\n    \t\t      if (c) {\r\n    \t\t        ++e;\r\n    \t\t      } else {\r\n    \t\t        zc.splice(0, 1);\r\n    \t\t      }\r\n\r\n    \t\t      return normalise(y, zc, e);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n    \t\t     * i.e. multiplied by -1.\r\n    \t\t     */\r\n    \t\t    P.negated = function () {\r\n    \t\t      var x = new BigNumber(this);\r\n    \t\t      x.s = -x.s || null;\r\n    \t\t      return x;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     *  n + 0 = n\r\n    \t\t     *  n + N = N\r\n    \t\t     *  n + I = I\r\n    \t\t     *  0 + n = n\r\n    \t\t     *  0 + 0 = 0\r\n    \t\t     *  0 + N = N\r\n    \t\t     *  0 + I = I\r\n    \t\t     *  N + n = N\r\n    \t\t     *  N + 0 = N\r\n    \t\t     *  N + N = N\r\n    \t\t     *  N + I = N\r\n    \t\t     *  I + n = I\r\n    \t\t     *  I + 0 = I\r\n    \t\t     *  I + N = N\r\n    \t\t     *  I + I = I\r\n    \t\t     *\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n    \t\t     * BigNumber(y, b).\r\n    \t\t     */\r\n    \t\t    P.plus = function (y, b) {\r\n    \t\t      var t,\r\n    \t\t        x = this,\r\n    \t\t        a = x.s;\r\n\r\n    \t\t      y = new BigNumber(y, b);\r\n    \t\t      b = y.s;\r\n\r\n    \t\t      // Either NaN?\r\n    \t\t      if (!a || !b) return new BigNumber(NaN);\r\n\r\n    \t\t      // Signs differ?\r\n    \t\t       if (a != b) {\r\n    \t\t        y.s = -b;\r\n    \t\t        return x.minus(y);\r\n    \t\t      }\r\n\r\n    \t\t      var xe = x.e / LOG_BASE,\r\n    \t\t        ye = y.e / LOG_BASE,\r\n    \t\t        xc = x.c,\r\n    \t\t        yc = y.c;\r\n\r\n    \t\t      if (!xe || !ye) {\r\n\r\n    \t\t        // Return ±Infinity if either ±Infinity.\r\n    \t\t        if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n    \t\t        // Either zero?\r\n    \t\t        // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n    \t\t        if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n    \t\t      }\r\n\r\n    \t\t      xe = bitFloor(xe);\r\n    \t\t      ye = bitFloor(ye);\r\n    \t\t      xc = xc.slice();\r\n\r\n    \t\t      // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n    \t\t      if (a = xe - ye) {\r\n    \t\t        if (a > 0) {\r\n    \t\t          ye = xe;\r\n    \t\t          t = yc;\r\n    \t\t        } else {\r\n    \t\t          a = -a;\r\n    \t\t          t = xc;\r\n    \t\t        }\r\n\r\n    \t\t        t.reverse();\r\n    \t\t        for (; a--; t.push(0));\r\n    \t\t        t.reverse();\r\n    \t\t      }\r\n\r\n    \t\t      a = xc.length;\r\n    \t\t      b = yc.length;\r\n\r\n    \t\t      // Point xc to the longer array, and b to the shorter length.\r\n    \t\t      if (a - b < 0) {\r\n    \t\t        t = yc;\r\n    \t\t        yc = xc;\r\n    \t\t        xc = t;\r\n    \t\t        b = a;\r\n    \t\t      }\r\n\r\n    \t\t      // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n    \t\t      for (a = 0; b;) {\r\n    \t\t        a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n    \t\t        xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n    \t\t      }\r\n\r\n    \t\t      if (a) {\r\n    \t\t        xc = [a].concat(xc);\r\n    \t\t        ++ye;\r\n    \t\t      }\r\n\r\n    \t\t      // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n    \t\t      // ye = MAX_EXP + 1 possible\r\n    \t\t      return normalise(y, xc, ye);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * If sd is undefined or null or true or false, return the number of significant digits of\r\n    \t\t     * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n    \t\t     * If sd is true include integer-part trailing zeros in the count.\r\n    \t\t     *\r\n    \t\t     * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n    \t\t     * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n    \t\t     * ROUNDING_MODE if rm is omitted.\r\n    \t\t     *\r\n    \t\t     * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n    \t\t     *                     boolean: whether to count integer-part trailing zeros: true or false.\r\n    \t\t     * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n    \t\t     */\r\n    \t\t    P.precision = P.sd = function (sd, rm) {\r\n    \t\t      var c, n, v,\r\n    \t\t        x = this;\r\n\r\n    \t\t      if (sd != null && sd !== !!sd) {\r\n    \t\t        intCheck(sd, 1, MAX);\r\n    \t\t        if (rm == null) rm = ROUNDING_MODE;\r\n    \t\t        else intCheck(rm, 0, 8);\r\n\r\n    \t\t        return round(new BigNumber(x), sd, rm);\r\n    \t\t      }\r\n\r\n    \t\t      if (!(c = x.c)) return null;\r\n    \t\t      v = c.length - 1;\r\n    \t\t      n = v * LOG_BASE + 1;\r\n\r\n    \t\t      if (v = c[v]) {\r\n\r\n    \t\t        // Subtract the number of trailing zeros of the last element.\r\n    \t\t        for (; v % 10 == 0; v /= 10, n--);\r\n\r\n    \t\t        // Add the number of digits of the first element.\r\n    \t\t        for (v = c[0]; v >= 10; v /= 10, n++);\r\n    \t\t      }\r\n\r\n    \t\t      if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n    \t\t      return n;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n    \t\t     * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n    \t\t     *\r\n    \t\t     * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n    \t\t     */\r\n    \t\t    P.shiftedBy = function (k) {\r\n    \t\t      intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n    \t\t      return this.times('1e' + k);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     *  sqrt(-n) =  N\r\n    \t\t     *  sqrt(N) =  N\r\n    \t\t     *  sqrt(-I) =  N\r\n    \t\t     *  sqrt(I) =  I\r\n    \t\t     *  sqrt(0) =  0\r\n    \t\t     *  sqrt(-0) = -0\r\n    \t\t     *\r\n    \t\t     * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n    \t\t     * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n    \t\t     */\r\n    \t\t    P.squareRoot = P.sqrt = function () {\r\n    \t\t      var m, n, r, rep, t,\r\n    \t\t        x = this,\r\n    \t\t        c = x.c,\r\n    \t\t        s = x.s,\r\n    \t\t        e = x.e,\r\n    \t\t        dp = DECIMAL_PLACES + 4,\r\n    \t\t        half = new BigNumber('0.5');\r\n\r\n    \t\t      // Negative/NaN/Infinity/zero?\r\n    \t\t      if (s !== 1 || !c || !c[0]) {\r\n    \t\t        return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n    \t\t      }\r\n\r\n    \t\t      // Initial estimate.\r\n    \t\t      s = Math.sqrt(+valueOf(x));\r\n\r\n    \t\t      // Math.sqrt underflow/overflow?\r\n    \t\t      // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n    \t\t      if (s == 0 || s == 1 / 0) {\r\n    \t\t        n = coeffToString(c);\r\n    \t\t        if ((n.length + e) % 2 == 0) n += '0';\r\n    \t\t        s = Math.sqrt(+n);\r\n    \t\t        e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n    \t\t        if (s == 1 / 0) {\r\n    \t\t          n = '5e' + e;\r\n    \t\t        } else {\r\n    \t\t          n = s.toExponential();\r\n    \t\t          n = n.slice(0, n.indexOf('e') + 1) + e;\r\n    \t\t        }\r\n\r\n    \t\t        r = new BigNumber(n);\r\n    \t\t      } else {\r\n    \t\t        r = new BigNumber(s + '');\r\n    \t\t      }\r\n\r\n    \t\t      // Check for zero.\r\n    \t\t      // r could be zero if MIN_EXP is changed after the this value was created.\r\n    \t\t      // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n    \t\t      // coeffToString to throw.\r\n    \t\t      if (r.c[0]) {\r\n    \t\t        e = r.e;\r\n    \t\t        s = e + dp;\r\n    \t\t        if (s < 3) s = 0;\r\n\r\n    \t\t        // Newton-Raphson iteration.\r\n    \t\t        for (; ;) {\r\n    \t\t          t = r;\r\n    \t\t          r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n    \t\t          if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n    \t\t            // The exponent of r may here be one less than the final result exponent,\r\n    \t\t            // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n    \t\t            // are indexed correctly.\r\n    \t\t            if (r.e < e) --s;\r\n    \t\t            n = n.slice(s - 3, s + 1);\r\n\r\n    \t\t            // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n    \t\t            // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n    \t\t            // iteration.\r\n    \t\t            if (n == '9999' || !rep && n == '4999') {\r\n\r\n    \t\t              // On the first iteration only, check to see if rounding up gives the\r\n    \t\t              // exact result as the nines may infinitely repeat.\r\n    \t\t              if (!rep) {\r\n    \t\t                round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n    \t\t                if (t.times(t).eq(x)) {\r\n    \t\t                  r = t;\r\n    \t\t                  break;\r\n    \t\t                }\r\n    \t\t              }\r\n\r\n    \t\t              dp += 4;\r\n    \t\t              s += 4;\r\n    \t\t              rep = 1;\r\n    \t\t            } else {\r\n\r\n    \t\t              // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n    \t\t              // result. If not, then there are further digits and m will be truthy.\r\n    \t\t              if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n    \t\t                // Truncate to the first rounding digit.\r\n    \t\t                round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n    \t\t                m = !r.times(r).eq(x);\r\n    \t\t              }\r\n\r\n    \t\t              break;\r\n    \t\t            }\r\n    \t\t          }\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a string representing the value of this BigNumber in exponential notation and\r\n    \t\t     * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n    \t\t     *\r\n    \t\t     * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n    \t\t     * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n    \t\t     */\r\n    \t\t    P.toExponential = function (dp, rm) {\r\n    \t\t      if (dp != null) {\r\n    \t\t        intCheck(dp, 0, MAX);\r\n    \t\t        dp++;\r\n    \t\t      }\r\n    \t\t      return format(this, dp, rm, 1);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n    \t\t     * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n    \t\t     *\r\n    \t\t     * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n    \t\t     * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n    \t\t     *\r\n    \t\t     * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n    \t\t     * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n    \t\t     */\r\n    \t\t    P.toFixed = function (dp, rm) {\r\n    \t\t      if (dp != null) {\r\n    \t\t        intCheck(dp, 0, MAX);\r\n    \t\t        dp = dp + this.e + 1;\r\n    \t\t      }\r\n    \t\t      return format(this, dp, rm);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n    \t\t     * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n    \t\t     * of the format or FORMAT object (see BigNumber.set).\r\n    \t\t     *\r\n    \t\t     * The formatting object may contain some or all of the properties shown below.\r\n    \t\t     *\r\n    \t\t     * FORMAT = {\r\n    \t\t     *   prefix: '',\r\n    \t\t     *   groupSize: 3,\r\n    \t\t     *   secondaryGroupSize: 0,\r\n    \t\t     *   groupSeparator: ',',\r\n    \t\t     *   decimalSeparator: '.',\r\n    \t\t     *   fractionGroupSize: 0,\r\n    \t\t     *   fractionGroupSeparator: '\\xA0',      // non-breaking space\r\n    \t\t     *   suffix: ''\r\n    \t\t     * };\r\n    \t\t     *\r\n    \t\t     * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n    \t\t     * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n    \t\t     * [format] {object} Formatting options. See FORMAT pbject above.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n    \t\t     * '[BigNumber Error] Argument not an object: {format}'\r\n    \t\t     */\r\n    \t\t    P.toFormat = function (dp, rm, format) {\r\n    \t\t      var str,\r\n    \t\t        x = this;\r\n\r\n    \t\t      if (format == null) {\r\n    \t\t        if (dp != null && rm && typeof rm == 'object') {\r\n    \t\t          format = rm;\r\n    \t\t          rm = null;\r\n    \t\t        } else if (dp && typeof dp == 'object') {\r\n    \t\t          format = dp;\r\n    \t\t          dp = rm = null;\r\n    \t\t        } else {\r\n    \t\t          format = FORMAT;\r\n    \t\t        }\r\n    \t\t      } else if (typeof format != 'object') {\r\n    \t\t        throw Error\r\n    \t\t          (bignumberError + 'Argument not an object: ' + format);\r\n    \t\t      }\r\n\r\n    \t\t      str = x.toFixed(dp, rm);\r\n\r\n    \t\t      if (x.c) {\r\n    \t\t        var i,\r\n    \t\t          arr = str.split('.'),\r\n    \t\t          g1 = +format.groupSize,\r\n    \t\t          g2 = +format.secondaryGroupSize,\r\n    \t\t          groupSeparator = format.groupSeparator || '',\r\n    \t\t          intPart = arr[0],\r\n    \t\t          fractionPart = arr[1],\r\n    \t\t          isNeg = x.s < 0,\r\n    \t\t          intDigits = isNeg ? intPart.slice(1) : intPart,\r\n    \t\t          len = intDigits.length;\r\n\r\n    \t\t        if (g2) {\r\n    \t\t          i = g1;\r\n    \t\t          g1 = g2;\r\n    \t\t          g2 = i;\r\n    \t\t          len -= i;\r\n    \t\t        }\r\n\r\n    \t\t        if (g1 > 0 && len > 0) {\r\n    \t\t          i = len % g1 || g1;\r\n    \t\t          intPart = intDigits.substr(0, i);\r\n    \t\t          for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n    \t\t          if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n    \t\t          if (isNeg) intPart = '-' + intPart;\r\n    \t\t        }\r\n\r\n    \t\t        str = fractionPart\r\n    \t\t         ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n    \t\t          ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n    \t\t           '$&' + (format.fractionGroupSeparator || ''))\r\n    \t\t          : fractionPart)\r\n    \t\t         : intPart;\r\n    \t\t      }\r\n\r\n    \t\t      return (format.prefix || '') + str + (format.suffix || '');\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n    \t\t     * fraction with an integer numerator and an integer denominator.\r\n    \t\t     * The denominator will be a positive non-zero value less than or equal to the specified\r\n    \t\t     * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n    \t\t     * the lowest value necessary to represent the number exactly.\r\n    \t\t     *\r\n    \t\t     * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n    \t\t     */\r\n    \t\t    P.toFraction = function (md) {\r\n    \t\t      var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n    \t\t        x = this,\r\n    \t\t        xc = x.c;\r\n\r\n    \t\t      if (md != null) {\r\n    \t\t        n = new BigNumber(md);\r\n\r\n    \t\t        // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n    \t\t        if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n    \t\t          throw Error\r\n    \t\t            (bignumberError + 'Argument ' +\r\n    \t\t              (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n    \t\t        }\r\n    \t\t      }\r\n\r\n    \t\t      if (!xc) return new BigNumber(x);\r\n\r\n    \t\t      d = new BigNumber(ONE);\r\n    \t\t      n1 = d0 = new BigNumber(ONE);\r\n    \t\t      d1 = n0 = new BigNumber(ONE);\r\n    \t\t      s = coeffToString(xc);\r\n\r\n    \t\t      // Determine initial denominator.\r\n    \t\t      // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n    \t\t      e = d.e = s.length - x.e - 1;\r\n    \t\t      d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n    \t\t      md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n    \t\t      exp = MAX_EXP;\r\n    \t\t      MAX_EXP = 1 / 0;\r\n    \t\t      n = new BigNumber(s);\r\n\r\n    \t\t      // n0 = d1 = 0\r\n    \t\t      n0.c[0] = 0;\r\n\r\n    \t\t      for (; ;)  {\r\n    \t\t        q = div(n, d, 0, 1);\r\n    \t\t        d2 = d0.plus(q.times(d1));\r\n    \t\t        if (d2.comparedTo(md) == 1) break;\r\n    \t\t        d0 = d1;\r\n    \t\t        d1 = d2;\r\n    \t\t        n1 = n0.plus(q.times(d2 = n1));\r\n    \t\t        n0 = d2;\r\n    \t\t        d = n.minus(q.times(d2 = d));\r\n    \t\t        n = d2;\r\n    \t\t      }\r\n\r\n    \t\t      d2 = div(md.minus(d0), d1, 0, 1);\r\n    \t\t      n0 = n0.plus(d2.times(n1));\r\n    \t\t      d0 = d0.plus(d2.times(d1));\r\n    \t\t      n0.s = n1.s = x.s;\r\n    \t\t      e = e * 2;\r\n\r\n    \t\t      // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n    \t\t      r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n    \t\t          div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n    \t\t      MAX_EXP = exp;\r\n\r\n    \t\t      return r;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return the value of this BigNumber converted to a number primitive.\r\n    \t\t     */\r\n    \t\t    P.toNumber = function () {\r\n    \t\t      return +valueOf(this);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n    \t\t     * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n    \t\t     * necessary to represent the integer part of the value in fixed-point notation, then use\r\n    \t\t     * exponential notation.\r\n    \t\t     *\r\n    \t\t     * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n    \t\t     * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n    \t\t     */\r\n    \t\t    P.toPrecision = function (sd, rm) {\r\n    \t\t      if (sd != null) intCheck(sd, 1, MAX);\r\n    \t\t      return format(this, sd, rm, 2);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n    \t\t     * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n    \t\t     * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n    \t\t     * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n    \t\t     * TO_EXP_NEG, return exponential notation.\r\n    \t\t     *\r\n    \t\t     * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n    \t\t     *\r\n    \t\t     * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n    \t\t     */\r\n    \t\t    P.toString = function (b) {\r\n    \t\t      var str,\r\n    \t\t        n = this,\r\n    \t\t        s = n.s,\r\n    \t\t        e = n.e;\r\n\r\n    \t\t      // Infinity or NaN?\r\n    \t\t      if (e === null) {\r\n    \t\t        if (s) {\r\n    \t\t          str = 'Infinity';\r\n    \t\t          if (s < 0) str = '-' + str;\r\n    \t\t        } else {\r\n    \t\t          str = 'NaN';\r\n    \t\t        }\r\n    \t\t      } else {\r\n    \t\t        if (b == null) {\r\n    \t\t          str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n    \t\t           ? toExponential(coeffToString(n.c), e)\r\n    \t\t           : toFixedPoint(coeffToString(n.c), e, '0');\r\n    \t\t        } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n    \t\t          n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n    \t\t          str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n    \t\t        } else {\r\n    \t\t          intCheck(b, 2, ALPHABET.length, 'Base');\r\n    \t\t          str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n    \t\t        }\r\n\r\n    \t\t        if (s < 0 && n.c[0]) str = '-' + str;\r\n    \t\t      }\r\n\r\n    \t\t      return str;\r\n    \t\t    };\r\n\r\n\r\n    \t\t    /*\r\n    \t\t     * Return as toString, but do not accept a base argument, and include the minus sign for\r\n    \t\t     * negative zero.\r\n    \t\t     */\r\n    \t\t    P.valueOf = P.toJSON = function () {\r\n    \t\t      return valueOf(this);\r\n    \t\t    };\r\n\r\n\r\n    \t\t    P._isBigNumber = true;\r\n\r\n    \t\t    if (configObject != null) BigNumber.set(configObject);\r\n\r\n    \t\t    return BigNumber;\r\n    \t\t  }\r\n\r\n\r\n    \t\t  // PRIVATE HELPER FUNCTIONS\r\n\r\n    \t\t  // These functions don't need access to variables,\r\n    \t\t  // e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\n    \t\t  function bitFloor(n) {\r\n    \t\t    var i = n | 0;\r\n    \t\t    return n > 0 || n === i ? i : i - 1;\r\n    \t\t  }\r\n\r\n\r\n    \t\t  // Return a coefficient array as a string of base 10 digits.\r\n    \t\t  function coeffToString(a) {\r\n    \t\t    var s, z,\r\n    \t\t      i = 1,\r\n    \t\t      j = a.length,\r\n    \t\t      r = a[0] + '';\r\n\r\n    \t\t    for (; i < j;) {\r\n    \t\t      s = a[i++] + '';\r\n    \t\t      z = LOG_BASE - s.length;\r\n    \t\t      for (; z--; s = '0' + s);\r\n    \t\t      r += s;\r\n    \t\t    }\r\n\r\n    \t\t    // Determine trailing zeros.\r\n    \t\t    for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n    \t\t    return r.slice(0, j + 1 || 1);\r\n    \t\t  }\r\n\r\n\r\n    \t\t  // Compare the value of BigNumbers x and y.\r\n    \t\t  function compare(x, y) {\r\n    \t\t    var a, b,\r\n    \t\t      xc = x.c,\r\n    \t\t      yc = y.c,\r\n    \t\t      i = x.s,\r\n    \t\t      j = y.s,\r\n    \t\t      k = x.e,\r\n    \t\t      l = y.e;\r\n\r\n    \t\t    // Either NaN?\r\n    \t\t    if (!i || !j) return null;\r\n\r\n    \t\t    a = xc && !xc[0];\r\n    \t\t    b = yc && !yc[0];\r\n\r\n    \t\t    // Either zero?\r\n    \t\t    if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n    \t\t    // Signs differ?\r\n    \t\t    if (i != j) return i;\r\n\r\n    \t\t    a = i < 0;\r\n    \t\t    b = k == l;\r\n\r\n    \t\t    // Either Infinity?\r\n    \t\t    if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n    \t\t    // Compare exponents.\r\n    \t\t    if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n    \t\t    j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n    \t\t    // Compare digit by digit.\r\n    \t\t    for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n    \t\t    // Compare lengths.\r\n    \t\t    return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n    \t\t  }\r\n\r\n\r\n    \t\t  /*\r\n    \t\t   * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n    \t\t   */\r\n    \t\t  function intCheck(n, min, max, name) {\r\n    \t\t    if (n < min || n > max || n !== mathfloor(n)) {\r\n    \t\t      throw Error\r\n    \t\t       (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n    \t\t         ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n    \t\t         : ' not a primitive number: ') + String(n));\r\n    \t\t    }\r\n    \t\t  }\r\n\r\n\r\n    \t\t  // Assumes finite n.\r\n    \t\t  function isOdd(n) {\r\n    \t\t    var k = n.c.length - 1;\r\n    \t\t    return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n    \t\t  }\r\n\r\n\r\n    \t\t  function toExponential(str, e) {\r\n    \t\t    return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n    \t\t     (e < 0 ? 'e' : 'e+') + e;\r\n    \t\t  }\r\n\r\n\r\n    \t\t  function toFixedPoint(str, e, z) {\r\n    \t\t    var len, zs;\r\n\r\n    \t\t    // Negative exponent?\r\n    \t\t    if (e < 0) {\r\n\r\n    \t\t      // Prepend zeros.\r\n    \t\t      for (zs = z + '.'; ++e; zs += z);\r\n    \t\t      str = zs + str;\r\n\r\n    \t\t    // Positive exponent\r\n    \t\t    } else {\r\n    \t\t      len = str.length;\r\n\r\n    \t\t      // Append zeros.\r\n    \t\t      if (++e > len) {\r\n    \t\t        for (zs = z, e -= len; --e; zs += z);\r\n    \t\t        str += zs;\r\n    \t\t      } else if (e < len) {\r\n    \t\t        str = str.slice(0, e) + '.' + str.slice(e);\r\n    \t\t      }\r\n    \t\t    }\r\n\r\n    \t\t    return str;\r\n    \t\t  }\r\n\r\n\r\n    \t\t  // EXPORT\r\n\r\n\r\n    \t\t  BigNumber = clone();\r\n    \t\t  BigNumber['default'] = BigNumber.BigNumber = BigNumber;\r\n\r\n    \t\t  // AMD.\r\n    \t\t  if (module.exports) {\r\n    \t\t    module.exports = BigNumber;\r\n\r\n    \t\t  // Browser.\r\n    \t\t  } else {\r\n    \t\t    if (!globalObject) {\r\n    \t\t      globalObject = typeof self != 'undefined' && self ? self : window;\r\n    \t\t    }\r\n\r\n    \t\t    globalObject.BigNumber = BigNumber;\r\n    \t\t  }\r\n    \t\t})(bignumber); \n    \t} (bignumber$1));\n    \treturn bignumber$1.exports;\n    }\n\n    var hasRequiredStringify;\n\n    function requireStringify () {\n    \tif (hasRequiredStringify) return stringify.exports;\n    \thasRequiredStringify = 1;\n    \t(function (module) {\n    \t\tvar BigNumber = requireBignumber();\n\n    \t\t/*\n    \t\t    json2.js\n    \t\t    2013-05-26\n\n    \t\t    Public Domain.\n\n    \t\t    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n\n    \t\t    See http://www.JSON.org/js.html\n\n\n    \t\t    This code should be minified before deployment.\n    \t\t    See http://javascript.crockford.com/jsmin.html\n\n    \t\t    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n    \t\t    NOT CONTROL.\n\n\n    \t\t    This file creates a global JSON object containing two methods: stringify\n    \t\t    and parse.\n\n    \t\t        JSON.stringify(value, replacer, space)\n    \t\t            value       any JavaScript value, usually an object or array.\n\n    \t\t            replacer    an optional parameter that determines how object\n    \t\t                        values are stringified for objects. It can be a\n    \t\t                        function or an array of strings.\n\n    \t\t            space       an optional parameter that specifies the indentation\n    \t\t                        of nested structures. If it is omitted, the text will\n    \t\t                        be packed without extra whitespace. If it is a number,\n    \t\t                        it will specify the number of spaces to indent at each\n    \t\t                        level. If it is a string (such as '\\t' or '&nbsp;'),\n    \t\t                        it contains the characters used to indent at each level.\n\n    \t\t            This method produces a JSON text from a JavaScript value.\n\n    \t\t            When an object value is found, if the object contains a toJSON\n    \t\t            method, its toJSON method will be called and the result will be\n    \t\t            stringified. A toJSON method does not serialize: it returns the\n    \t\t            value represented by the name/value pair that should be serialized,\n    \t\t            or undefined if nothing should be serialized. The toJSON method\n    \t\t            will be passed the key associated with the value, and this will be\n    \t\t            bound to the value\n\n    \t\t            For example, this would serialize Dates as ISO strings.\n\n    \t\t                Date.prototype.toJSON = function (key) {\n    \t\t                    function f(n) {\n    \t\t                        // Format integers to have at least two digits.\n    \t\t                        return n < 10 ? '0' + n : n;\n    \t\t                    }\n\n    \t\t                    return this.getUTCFullYear()   + '-' +\n    \t\t                         f(this.getUTCMonth() + 1) + '-' +\n    \t\t                         f(this.getUTCDate())      + 'T' +\n    \t\t                         f(this.getUTCHours())     + ':' +\n    \t\t                         f(this.getUTCMinutes())   + ':' +\n    \t\t                         f(this.getUTCSeconds())   + 'Z';\n    \t\t                };\n\n    \t\t            You can provide an optional replacer method. It will be passed the\n    \t\t            key and value of each member, with this bound to the containing\n    \t\t            object. The value that is returned from your method will be\n    \t\t            serialized. If your method returns undefined, then the member will\n    \t\t            be excluded from the serialization.\n\n    \t\t            If the replacer parameter is an array of strings, then it will be\n    \t\t            used to select the members to be serialized. It filters the results\n    \t\t            such that only members with keys listed in the replacer array are\n    \t\t            stringified.\n\n    \t\t            Values that do not have JSON representations, such as undefined or\n    \t\t            functions, will not be serialized. Such values in objects will be\n    \t\t            dropped; in arrays they will be replaced with null. You can use\n    \t\t            a replacer function to replace those with JSON values.\n    \t\t            JSON.stringify(undefined) returns undefined.\n\n    \t\t            The optional space parameter produces a stringification of the\n    \t\t            value that is filled with line breaks and indentation to make it\n    \t\t            easier to read.\n\n    \t\t            If the space parameter is a non-empty string, then that string will\n    \t\t            be used for indentation. If the space parameter is a number, then\n    \t\t            the indentation will be that many spaces.\n\n    \t\t            Example:\n\n    \t\t            text = JSON.stringify(['e', {pluribus: 'unum'}]);\n    \t\t            // text is '[\"e\",{\"pluribus\":\"unum\"}]'\n\n\n    \t\t            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\\t');\n    \t\t            // text is '[\\n\\t\"e\",\\n\\t{\\n\\t\\t\"pluribus\": \"unum\"\\n\\t}\\n]'\n\n    \t\t            text = JSON.stringify([new Date()], function (key, value) {\n    \t\t                return this[key] instanceof Date ?\n    \t\t                    'Date(' + this[key] + ')' : value;\n    \t\t            });\n    \t\t            // text is '[\"Date(---current time---)\"]'\n\n\n    \t\t        JSON.parse(text, reviver)\n    \t\t            This method parses a JSON text to produce an object or array.\n    \t\t            It can throw a SyntaxError exception.\n\n    \t\t            The optional reviver parameter is a function that can filter and\n    \t\t            transform the results. It receives each of the keys and values,\n    \t\t            and its return value is used instead of the original value.\n    \t\t            If it returns what it received, then the structure is not modified.\n    \t\t            If it returns undefined then the member is deleted.\n\n    \t\t            Example:\n\n    \t\t            // Parse the text. Values that look like ISO date strings will\n    \t\t            // be converted to Date objects.\n\n    \t\t            myData = JSON.parse(text, function (key, value) {\n    \t\t                var a;\n    \t\t                if (typeof value === 'string') {\n    \t\t                    a =\n    \t\t/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n    \t\t                    if (a) {\n    \t\t                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n    \t\t                            +a[5], +a[6]));\n    \t\t                    }\n    \t\t                }\n    \t\t                return value;\n    \t\t            });\n\n    \t\t            myData = JSON.parse('[\"Date(09/09/2001)\"]', function (key, value) {\n    \t\t                var d;\n    \t\t                if (typeof value === 'string' &&\n    \t\t                        value.slice(0, 5) === 'Date(' &&\n    \t\t                        value.slice(-1) === ')') {\n    \t\t                    d = new Date(value.slice(5, -1));\n    \t\t                    if (d) {\n    \t\t                        return d;\n    \t\t                    }\n    \t\t                }\n    \t\t                return value;\n    \t\t            });\n\n\n    \t\t    This is a reference implementation. You are free to copy, modify, or\n    \t\t    redistribute.\n    \t\t*/\n\n    \t\t/*jslint evil: true, regexp: true */\n\n    \t\t/*members \"\", \"\\b\", \"\\t\", \"\\n\", \"\\f\", \"\\r\", \"\\\"\", JSON, \"\\\\\", apply,\n    \t\t    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,\n    \t\t    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,\n    \t\t    lastIndex, length, parse, prototype, push, replace, slice, stringify,\n    \t\t    test, toJSON, toString, valueOf\n    \t\t*/\n\n\n    \t\t// Create a JSON object only if one does not already exist. We create the\n    \t\t// methods in a closure to avoid creating global variables.\n\n    \t\tvar JSON = module.exports;\n\n    \t\t(function () {\n\n    \t\t    var escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n    \t\t        gap,\n    \t\t        indent,\n    \t\t        meta = {    // table of character substitutions\n    \t\t            '\\b': '\\\\b',\n    \t\t            '\\t': '\\\\t',\n    \t\t            '\\n': '\\\\n',\n    \t\t            '\\f': '\\\\f',\n    \t\t            '\\r': '\\\\r',\n    \t\t            '\"' : '\\\\\"',\n    \t\t            '\\\\': '\\\\\\\\'\n    \t\t        },\n    \t\t        rep;\n\n\n    \t\t    function quote(string) {\n\n    \t\t// If the string contains no control characters, no quote characters, and no\n    \t\t// backslash characters, then we can safely slap some quotes around it.\n    \t\t// Otherwise we must also replace the offending characters with safe escape\n    \t\t// sequences.\n\n    \t\t        escapable.lastIndex = 0;\n    \t\t        return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n    \t\t            var c = meta[a];\n    \t\t            return typeof c === 'string'\n    \t\t                ? c\n    \t\t                : '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n    \t\t        }) + '\"' : '\"' + string + '\"';\n    \t\t    }\n\n\n    \t\t    function str(key, holder) {\n\n    \t\t// Produce a string from holder[key].\n\n    \t\t        var i,          // The loop counter.\n    \t\t            k,          // The member key.\n    \t\t            v,          // The member value.\n    \t\t            length,\n    \t\t            mind = gap,\n    \t\t            partial,\n    \t\t            value = holder[key],\n    \t\t            isBigNumber = value != null && (value instanceof BigNumber || BigNumber.isBigNumber(value));\n\n    \t\t// If the value has a toJSON method, call it to obtain a replacement value.\n\n    \t\t        if (value && typeof value === 'object' &&\n    \t\t                typeof value.toJSON === 'function') {\n    \t\t            value = value.toJSON(key);\n    \t\t        }\n\n    \t\t// If we were called with a replacer function, then call the replacer to\n    \t\t// obtain a replacement value.\n\n    \t\t        if (typeof rep === 'function') {\n    \t\t            value = rep.call(holder, key, value);\n    \t\t        }\n\n    \t\t// What happens next depends on the value's type.\n\n    \t\t        switch (typeof value) {\n    \t\t        case 'string':\n    \t\t            if (isBigNumber) {\n    \t\t                return value;\n    \t\t            } else {\n    \t\t                return quote(value);\n    \t\t            }\n\n    \t\t        case 'number':\n\n    \t\t// JSON numbers must be finite. Encode non-finite numbers as null.\n\n    \t\t            return isFinite(value) ? String(value) : 'null';\n\n    \t\t        case 'boolean':\n    \t\t        case 'null':\n    \t\t        case 'bigint':\n\n    \t\t// If the value is a boolean or null, convert it to a string. Note:\n    \t\t// typeof null does not produce 'null'. The case is included here in\n    \t\t// the remote chance that this gets fixed someday.\n\n    \t\t            return String(value);\n\n    \t\t// If the type is 'object', we might be dealing with an object or an array or\n    \t\t// null.\n\n    \t\t        case 'object':\n\n    \t\t// Due to a specification blunder in ECMAScript, typeof null is 'object',\n    \t\t// so watch out for that case.\n\n    \t\t            if (!value) {\n    \t\t                return 'null';\n    \t\t            }\n\n    \t\t// Make an array to hold the partial results of stringifying this object value.\n\n    \t\t            gap += indent;\n    \t\t            partial = [];\n\n    \t\t// Is the value an array?\n\n    \t\t            if (Object.prototype.toString.apply(value) === '[object Array]') {\n\n    \t\t// The value is an array. Stringify every element. Use null as a placeholder\n    \t\t// for non-JSON values.\n\n    \t\t                length = value.length;\n    \t\t                for (i = 0; i < length; i += 1) {\n    \t\t                    partial[i] = str(i, value) || 'null';\n    \t\t                }\n\n    \t\t// Join all of the elements together, separated with commas, and wrap them in\n    \t\t// brackets.\n\n    \t\t                v = partial.length === 0\n    \t\t                    ? '[]'\n    \t\t                    : gap\n    \t\t                    ? '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']'\n    \t\t                    : '[' + partial.join(',') + ']';\n    \t\t                gap = mind;\n    \t\t                return v;\n    \t\t            }\n\n    \t\t// If the replacer is an array, use it to select the members to be stringified.\n\n    \t\t            if (rep && typeof rep === 'object') {\n    \t\t                length = rep.length;\n    \t\t                for (i = 0; i < length; i += 1) {\n    \t\t                    if (typeof rep[i] === 'string') {\n    \t\t                        k = rep[i];\n    \t\t                        v = str(k, value);\n    \t\t                        if (v) {\n    \t\t                            partial.push(quote(k) + (gap ? ': ' : ':') + v);\n    \t\t                        }\n    \t\t                    }\n    \t\t                }\n    \t\t            } else {\n\n    \t\t// Otherwise, iterate through all of the keys in the object.\n\n    \t\t                Object.keys(value).forEach(function(k) {\n    \t\t                    var v = str(k, value);\n    \t\t                    if (v) {\n    \t\t                        partial.push(quote(k) + (gap ? ': ' : ':') + v);\n    \t\t                    }\n    \t\t                });\n    \t\t            }\n\n    \t\t// Join all of the member texts together, separated with commas,\n    \t\t// and wrap them in braces.\n\n    \t\t            v = partial.length === 0\n    \t\t                ? '{}'\n    \t\t                : gap\n    \t\t                ? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}'\n    \t\t                : '{' + partial.join(',') + '}';\n    \t\t            gap = mind;\n    \t\t            return v;\n    \t\t        }\n    \t\t    }\n\n    \t\t// If the JSON object does not yet have a stringify method, give it one.\n\n    \t\t    if (typeof JSON.stringify !== 'function') {\n    \t\t        JSON.stringify = function (value, replacer, space) {\n\n    \t\t// The stringify method takes a value and an optional replacer, and an optional\n    \t\t// space parameter, and returns a JSON text. The replacer can be a function\n    \t\t// that can replace values, or an array of strings that will select the keys.\n    \t\t// A default replacer method can be provided. Use of the space parameter can\n    \t\t// produce text that is more easily readable.\n\n    \t\t            var i;\n    \t\t            gap = '';\n    \t\t            indent = '';\n\n    \t\t// If the space parameter is a number, make an indent string containing that\n    \t\t// many spaces.\n\n    \t\t            if (typeof space === 'number') {\n    \t\t                for (i = 0; i < space; i += 1) {\n    \t\t                    indent += ' ';\n    \t\t                }\n\n    \t\t// If the space parameter is a string, it will be used as the indent string.\n\n    \t\t            } else if (typeof space === 'string') {\n    \t\t                indent = space;\n    \t\t            }\n\n    \t\t// If there is a replacer, it must be a function or an array.\n    \t\t// Otherwise, throw an error.\n\n    \t\t            rep = replacer;\n    \t\t            if (replacer && typeof replacer !== 'function' &&\n    \t\t                    (typeof replacer !== 'object' ||\n    \t\t                    typeof replacer.length !== 'number')) {\n    \t\t                throw new Error('JSON.stringify');\n    \t\t            }\n\n    \t\t// Make a fake root object containing our value under the key of ''.\n    \t\t// Return the result of stringifying the value.\n\n    \t\t            return str('', {'': value});\n    \t\t        };\n    \t\t    }\n    \t\t}()); \n    \t} (stringify));\n    \treturn stringify.exports;\n    }\n\n    var parse;\n    var hasRequiredParse;\n\n    function requireParse () {\n    \tif (hasRequiredParse) return parse;\n    \thasRequiredParse = 1;\n    \tvar BigNumber = null;\n\n    \t// regexpxs extracted from\n    \t// (c) BSD-3-Clause\n    \t// https://github.com/fastify/secure-json-parse/graphs/contributors and https://github.com/hapijs/bourne/graphs/contributors\n\n    \tconst suspectProtoRx = /(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])/;\n    \tconst suspectConstructorRx = /(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)/;\n\n    \t/*\n    \t    json_parse.js\n    \t    2012-06-20\n\n    \t    Public Domain.\n\n    \t    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n\n    \t    This file creates a json_parse function.\n    \t    During create you can (optionally) specify some behavioural switches\n\n    \t        require('json-bigint')(options)\n\n    \t            The optional options parameter holds switches that drive certain\n    \t            aspects of the parsing process:\n    \t            * options.strict = true will warn about duplicate-key usage in the json.\n    \t              The default (strict = false) will silently ignore those and overwrite\n    \t              values for keys that are in duplicate use.\n\n    \t    The resulting function follows this signature:\n    \t        json_parse(text, reviver)\n    \t            This method parses a JSON text to produce an object or array.\n    \t            It can throw a SyntaxError exception.\n\n    \t            The optional reviver parameter is a function that can filter and\n    \t            transform the results. It receives each of the keys and values,\n    \t            and its return value is used instead of the original value.\n    \t            If it returns what it received, then the structure is not modified.\n    \t            If it returns undefined then the member is deleted.\n\n    \t            Example:\n\n    \t            // Parse the text. Values that look like ISO date strings will\n    \t            // be converted to Date objects.\n\n    \t            myData = json_parse(text, function (key, value) {\n    \t                var a;\n    \t                if (typeof value === 'string') {\n    \t                    a =\n    \t/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n    \t                    if (a) {\n    \t                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n    \t                            +a[5], +a[6]));\n    \t                    }\n    \t                }\n    \t                return value;\n    \t            });\n\n    \t    This is a reference implementation. You are free to copy, modify, or\n    \t    redistribute.\n\n    \t    This code should be minified before deployment.\n    \t    See http://javascript.crockford.com/jsmin.html\n\n    \t    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n    \t    NOT CONTROL.\n    \t*/\n\n    \t/*members \"\", \"\\\"\", \"\\/\", \"\\\\\", at, b, call, charAt, f, fromCharCode,\n    \t    hasOwnProperty, message, n, name, prototype, push, r, t, text\n    \t*/\n\n    \tvar json_parse = function (options) {\n\n    \t  // This is a function that can parse a JSON text, producing a JavaScript\n    \t  // data structure. It is a simple, recursive descent parser. It does not use\n    \t  // eval or regular expressions, so it can be used as a model for implementing\n    \t  // a JSON parser in other languages.\n\n    \t  // We are defining the function inside of another function to avoid creating\n    \t  // global variables.\n\n    \t  // Default options one can override by passing options to the parse()\n    \t  var _options = {\n    \t    strict: false, // not being strict means do not generate syntax errors for \"duplicate key\"\n    \t    storeAsString: false, // toggles whether the values should be stored as BigNumber (default) or a string\n    \t    alwaysParseAsBig: false, // toggles whether all numbers should be Big\n    \t    useNativeBigInt: false, // toggles whether to use native BigInt instead of bignumber.js\n    \t    protoAction: 'error',\n    \t    constructorAction: 'error',\n    \t  };\n\n    \t  // If there are options, then use them to override the default _options\n    \t  if (options !== undefined && options !== null) {\n    \t    if (options.strict === true) {\n    \t      _options.strict = true;\n    \t    }\n    \t    if (options.storeAsString === true) {\n    \t      _options.storeAsString = true;\n    \t    }\n    \t    _options.alwaysParseAsBig =\n    \t      options.alwaysParseAsBig === true ? options.alwaysParseAsBig : false;\n    \t    _options.useNativeBigInt =\n    \t      options.useNativeBigInt === true ? options.useNativeBigInt : false;\n\n    \t    if (typeof options.constructorAction !== 'undefined') {\n    \t      if (\n    \t        options.constructorAction === 'error' ||\n    \t        options.constructorAction === 'ignore' ||\n    \t        options.constructorAction === 'preserve'\n    \t      ) {\n    \t        _options.constructorAction = options.constructorAction;\n    \t      } else {\n    \t        throw new Error(\n    \t          `Incorrect value for constructorAction option, must be \"error\", \"ignore\" or undefined but passed ${options.constructorAction}`\n    \t        );\n    \t      }\n    \t    }\n\n    \t    if (typeof options.protoAction !== 'undefined') {\n    \t      if (\n    \t        options.protoAction === 'error' ||\n    \t        options.protoAction === 'ignore' ||\n    \t        options.protoAction === 'preserve'\n    \t      ) {\n    \t        _options.protoAction = options.protoAction;\n    \t      } else {\n    \t        throw new Error(\n    \t          `Incorrect value for protoAction option, must be \"error\", \"ignore\" or undefined but passed ${options.protoAction}`\n    \t        );\n    \t      }\n    \t    }\n    \t  }\n\n    \t  var at, // The index of the current character\n    \t    ch, // The current character\n    \t    escapee = {\n    \t      '\"': '\"',\n    \t      '\\\\': '\\\\',\n    \t      '/': '/',\n    \t      b: '\\b',\n    \t      f: '\\f',\n    \t      n: '\\n',\n    \t      r: '\\r',\n    \t      t: '\\t',\n    \t    },\n    \t    text,\n    \t    error = function (m) {\n    \t      // Call error when something is wrong.\n\n    \t      throw {\n    \t        name: 'SyntaxError',\n    \t        message: m,\n    \t        at: at,\n    \t        text: text,\n    \t      };\n    \t    },\n    \t    next = function (c) {\n    \t      // If a c parameter is provided, verify that it matches the current character.\n\n    \t      if (c && c !== ch) {\n    \t        error(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n    \t      }\n\n    \t      // Get the next character. When there are no more characters,\n    \t      // return the empty string.\n\n    \t      ch = text.charAt(at);\n    \t      at += 1;\n    \t      return ch;\n    \t    },\n    \t    number = function () {\n    \t      // Parse a number value.\n\n    \t      var number,\n    \t        string = '';\n\n    \t      if (ch === '-') {\n    \t        string = '-';\n    \t        next('-');\n    \t      }\n    \t      while (ch >= '0' && ch <= '9') {\n    \t        string += ch;\n    \t        next();\n    \t      }\n    \t      if (ch === '.') {\n    \t        string += '.';\n    \t        while (next() && ch >= '0' && ch <= '9') {\n    \t          string += ch;\n    \t        }\n    \t      }\n    \t      if (ch === 'e' || ch === 'E') {\n    \t        string += ch;\n    \t        next();\n    \t        if (ch === '-' || ch === '+') {\n    \t          string += ch;\n    \t          next();\n    \t        }\n    \t        while (ch >= '0' && ch <= '9') {\n    \t          string += ch;\n    \t          next();\n    \t        }\n    \t      }\n    \t      number = +string;\n    \t      if (!isFinite(number)) {\n    \t        error('Bad number');\n    \t      } else {\n    \t        if (BigNumber == null) BigNumber = requireBignumber();\n    \t        //if (number > 9007199254740992 || number < -9007199254740992)\n    \t        // Bignumber has stricter check: everything with length > 15 digits disallowed\n    \t        if (string.length > 15)\n    \t          return _options.storeAsString\n    \t            ? string\n    \t            : _options.useNativeBigInt\n    \t            ? BigInt(string)\n    \t            : new BigNumber(string);\n    \t        else\n    \t          return !_options.alwaysParseAsBig\n    \t            ? number\n    \t            : _options.useNativeBigInt\n    \t            ? BigInt(number)\n    \t            : new BigNumber(number);\n    \t      }\n    \t    },\n    \t    string = function () {\n    \t      // Parse a string value.\n\n    \t      var hex,\n    \t        i,\n    \t        string = '',\n    \t        uffff;\n\n    \t      // When parsing for string values, we must look for \" and \\ characters.\n\n    \t      if (ch === '\"') {\n    \t        var startAt = at;\n    \t        while (next()) {\n    \t          if (ch === '\"') {\n    \t            if (at - 1 > startAt) string += text.substring(startAt, at - 1);\n    \t            next();\n    \t            return string;\n    \t          }\n    \t          if (ch === '\\\\') {\n    \t            if (at - 1 > startAt) string += text.substring(startAt, at - 1);\n    \t            next();\n    \t            if (ch === 'u') {\n    \t              uffff = 0;\n    \t              for (i = 0; i < 4; i += 1) {\n    \t                hex = parseInt(next(), 16);\n    \t                if (!isFinite(hex)) {\n    \t                  break;\n    \t                }\n    \t                uffff = uffff * 16 + hex;\n    \t              }\n    \t              string += String.fromCharCode(uffff);\n    \t            } else if (typeof escapee[ch] === 'string') {\n    \t              string += escapee[ch];\n    \t            } else {\n    \t              break;\n    \t            }\n    \t            startAt = at;\n    \t          }\n    \t        }\n    \t      }\n    \t      error('Bad string');\n    \t    },\n    \t    white = function () {\n    \t      // Skip whitespace.\n\n    \t      while (ch && ch <= ' ') {\n    \t        next();\n    \t      }\n    \t    },\n    \t    word = function () {\n    \t      // true, false, or null.\n\n    \t      switch (ch) {\n    \t        case 't':\n    \t          next('t');\n    \t          next('r');\n    \t          next('u');\n    \t          next('e');\n    \t          return true;\n    \t        case 'f':\n    \t          next('f');\n    \t          next('a');\n    \t          next('l');\n    \t          next('s');\n    \t          next('e');\n    \t          return false;\n    \t        case 'n':\n    \t          next('n');\n    \t          next('u');\n    \t          next('l');\n    \t          next('l');\n    \t          return null;\n    \t      }\n    \t      error(\"Unexpected '\" + ch + \"'\");\n    \t    },\n    \t    value, // Place holder for the value function.\n    \t    array = function () {\n    \t      // Parse an array value.\n\n    \t      var array = [];\n\n    \t      if (ch === '[') {\n    \t        next('[');\n    \t        white();\n    \t        if (ch === ']') {\n    \t          next(']');\n    \t          return array; // empty array\n    \t        }\n    \t        while (ch) {\n    \t          array.push(value());\n    \t          white();\n    \t          if (ch === ']') {\n    \t            next(']');\n    \t            return array;\n    \t          }\n    \t          next(',');\n    \t          white();\n    \t        }\n    \t      }\n    \t      error('Bad array');\n    \t    },\n    \t    object = function () {\n    \t      // Parse an object value.\n\n    \t      var key,\n    \t        object = Object.create(null);\n\n    \t      if (ch === '{') {\n    \t        next('{');\n    \t        white();\n    \t        if (ch === '}') {\n    \t          next('}');\n    \t          return object; // empty object\n    \t        }\n    \t        while (ch) {\n    \t          key = string();\n    \t          white();\n    \t          next(':');\n    \t          if (\n    \t            _options.strict === true &&\n    \t            Object.hasOwnProperty.call(object, key)\n    \t          ) {\n    \t            error('Duplicate key \"' + key + '\"');\n    \t          }\n\n    \t          if (suspectProtoRx.test(key) === true) {\n    \t            if (_options.protoAction === 'error') {\n    \t              error('Object contains forbidden prototype property');\n    \t            } else if (_options.protoAction === 'ignore') {\n    \t              value();\n    \t            } else {\n    \t              object[key] = value();\n    \t            }\n    \t          } else if (suspectConstructorRx.test(key) === true) {\n    \t            if (_options.constructorAction === 'error') {\n    \t              error('Object contains forbidden constructor property');\n    \t            } else if (_options.constructorAction === 'ignore') {\n    \t              value();\n    \t            } else {\n    \t              object[key] = value();\n    \t            }\n    \t          } else {\n    \t            object[key] = value();\n    \t          }\n\n    \t          white();\n    \t          if (ch === '}') {\n    \t            next('}');\n    \t            return object;\n    \t          }\n    \t          next(',');\n    \t          white();\n    \t        }\n    \t      }\n    \t      error('Bad object');\n    \t    };\n\n    \t  value = function () {\n    \t    // Parse a JSON value. It could be an object, an array, a string, a number,\n    \t    // or a word.\n\n    \t    white();\n    \t    switch (ch) {\n    \t      case '{':\n    \t        return object();\n    \t      case '[':\n    \t        return array();\n    \t      case '\"':\n    \t        return string();\n    \t      case '-':\n    \t        return number();\n    \t      default:\n    \t        return ch >= '0' && ch <= '9' ? number() : word();\n    \t    }\n    \t  };\n\n    \t  // Return the json_parse function. It will have access to all of the above\n    \t  // functions and variables.\n\n    \t  return function (source, reviver) {\n    \t    var result;\n\n    \t    text = source + '';\n    \t    at = 0;\n    \t    ch = ' ';\n    \t    result = value();\n    \t    white();\n    \t    if (ch) {\n    \t      error('Syntax error');\n    \t    }\n\n    \t    // If there is a reviver function, we recursively walk the new structure,\n    \t    // passing each name/value pair to the reviver function for possible\n    \t    // transformation, starting with a temporary root object that holds the result\n    \t    // in an empty key. If there is not a reviver function, we simply return the\n    \t    // result.\n\n    \t    return typeof reviver === 'function'\n    \t      ? (function walk(holder, key) {\n    \t          var v,\n    \t            value = holder[key];\n    \t          if (value && typeof value === 'object') {\n    \t            Object.keys(value).forEach(function (k) {\n    \t              v = walk(value, k);\n    \t              if (v !== undefined) {\n    \t                value[k] = v;\n    \t              } else {\n    \t                delete value[k];\n    \t              }\n    \t            });\n    \t          }\n    \t          return reviver.call(holder, key, value);\n    \t        })({ '': result }, '')\n    \t      : result;\n    \t  };\n    \t};\n\n    \tparse = json_parse;\n    \treturn parse;\n    }\n\n    var hasRequiredJsonBigint;\n\n    function requireJsonBigint () {\n    \tif (hasRequiredJsonBigint) return jsonBigint.exports;\n    \thasRequiredJsonBigint = 1;\n    \tvar json_stringify = requireStringify().stringify;\n    \tvar json_parse     = requireParse();\n\n    \tjsonBigint.exports = function(options) {\n    \t    return  {\n    \t        parse: json_parse(options),\n    \t        stringify: json_stringify\n    \t    }\n    \t};\n    \t//create the default method members with no options applied for backwards compatibility\n    \tjsonBigint.exports.parse = json_parse();\n    \tjsonBigint.exports.stringify = json_stringify;\n    \treturn jsonBigint.exports;\n    }\n\n    var jsonBigintExports = requireJsonBigint();\n    var JSONbigModule = /*@__PURE__*/getDefaultExportFromCjs(jsonBigintExports);\n\n    const JSONbig$1 = JSONbigModule({ useNativeBigInt: true });\n    /**\n     * Helper class to generate query strings.\n     */\n    class Query {\n        /**\n         * Constructor for Query class.\n         *\n         * @param {string} method\n         * @param {AttributesTypes} attribute\n         * @param {QueryTypes} values\n         */\n        constructor(method, attribute, values) {\n            this.method = method;\n            this.attribute = attribute;\n            if (values !== undefined) {\n                if (Array.isArray(values)) {\n                    this.values = values;\n                }\n                else {\n                    this.values = [values];\n                }\n            }\n        }\n        /**\n         * Convert the query object to a JSON string.\n         *\n         * @returns {string}\n         */\n        toString() {\n            return JSONbig$1.stringify({\n                method: this.method,\n                attribute: this.attribute,\n                values: this.values,\n            });\n        }\n    }\n    /**\n     * Filter resources where attribute is equal to value.\n     *\n     * @param {string} attribute\n     * @param {QueryTypes} value\n     * @returns {string}\n     */\n    Query.equal = (attribute, value) => new Query(\"equal\", attribute, value).toString();\n    /**\n     * Filter resources where attribute is not equal to value.\n     *\n     * @param {string} attribute\n     * @param {QueryTypes} value\n     * @returns {string}\n     */\n    Query.notEqual = (attribute, value) => new Query(\"notEqual\", attribute, value).toString();\n    /**\n     * Filter resources where attribute matches a regular expression pattern.\n     *\n     * @param {string} attribute The attribute to filter on.\n     * @param {string} pattern The regular expression pattern to match.\n     * @returns {string}\n     */\n    Query.regex = (attribute, pattern) => new Query(\"regex\", attribute, pattern).toString();\n    /**\n     * Filter resources where attribute is less than value.\n     *\n     * @param {string} attribute\n     * @param {QueryTypes} value\n     * @returns {string}\n     */\n    Query.lessThan = (attribute, value) => new Query(\"lessThan\", attribute, value).toString();\n    /**\n     * Filter resources where attribute is less than or equal to value.\n     *\n     * @param {string} attribute\n     * @param {QueryTypes} value\n     * @returns {string}\n     */\n    Query.lessThanEqual = (attribute, value) => new Query(\"lessThanEqual\", attribute, value).toString();\n    /**\n     * Filter resources where attribute is greater than value.\n     *\n     * @param {string} attribute\n     * @param {QueryTypes} value\n     * @returns {string}\n     */\n    Query.greaterThan = (attribute, value) => new Query(\"greaterThan\", attribute, value).toString();\n    /**\n     * Filter resources where attribute is greater than or equal to value.\n     *\n     * @param {string} attribute\n     * @param {QueryTypes} value\n     * @returns {string}\n     */\n    Query.greaterThanEqual = (attribute, value) => new Query(\"greaterThanEqual\", attribute, value).toString();\n    /**\n     * Filter resources where attribute is null.\n     *\n     * @param {string} attribute\n     * @returns {string}\n     */\n    Query.isNull = (attribute) => new Query(\"isNull\", attribute).toString();\n    /**\n     * Filter resources where attribute is not null.\n     *\n     * @param {string} attribute\n     * @returns {string}\n     */\n    Query.isNotNull = (attribute) => new Query(\"isNotNull\", attribute).toString();\n    /**\n     * Filter resources where the specified attributes exist.\n     *\n     * @param {string[]} attributes The list of attributes that must exist.\n     * @returns {string}\n     */\n    Query.exists = (attributes) => new Query(\"exists\", undefined, attributes).toString();\n    /**\n     * Filter resources where the specified attributes do not exist.\n     *\n     * @param {string[]} attributes The list of attributes that must not exist.\n     * @returns {string}\n     */\n    Query.notExists = (attributes) => new Query(\"notExists\", undefined, attributes).toString();\n    /**\n     * Filter resources where attribute is between start and end (inclusive).\n     *\n     * @param {string} attribute\n     * @param {string | number | bigint} start\n     * @param {string | number | bigint} end\n     * @returns {string}\n     */\n    Query.between = (attribute, start, end) => new Query(\"between\", attribute, [start, end]).toString();\n    /**\n     * Filter resources where attribute starts with value.\n     *\n     * @param {string} attribute\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.startsWith = (attribute, value) => new Query(\"startsWith\", attribute, value).toString();\n    /**\n     * Filter resources where attribute ends with value.\n     *\n     * @param {string} attribute\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.endsWith = (attribute, value) => new Query(\"endsWith\", attribute, value).toString();\n    /**\n     * Specify which attributes should be returned by the API call.\n     *\n     * @param {string[]} attributes\n     * @returns {string}\n     */\n    Query.select = (attributes) => new Query(\"select\", undefined, attributes).toString();\n    /**\n     * Filter resources by searching attribute for value.\n     * A fulltext index on attribute is required for this query to work.\n     *\n     * @param {string} attribute\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.search = (attribute, value) => new Query(\"search\", attribute, value).toString();\n    /**\n     * Sort results by attribute descending.\n     *\n     * @param {string} attribute\n     * @returns {string}\n     */\n    Query.orderDesc = (attribute) => new Query(\"orderDesc\", attribute).toString();\n    /**\n     * Sort results by attribute ascending.\n     *\n     * @param {string} attribute\n     * @returns {string}\n     */\n    Query.orderAsc = (attribute) => new Query(\"orderAsc\", attribute).toString();\n    /**\n     * Sort results randomly.\n     *\n     * @returns {string}\n     */\n    Query.orderRandom = () => new Query(\"orderRandom\").toString();\n    /**\n     * Return results after documentId.\n     *\n     * @param {string} documentId\n     * @returns {string}\n     */\n    Query.cursorAfter = (documentId) => new Query(\"cursorAfter\", undefined, documentId).toString();\n    /**\n     * Return results before documentId.\n     *\n     * @param {string} documentId\n     * @returns {string}\n     */\n    Query.cursorBefore = (documentId) => new Query(\"cursorBefore\", undefined, documentId).toString();\n    /**\n     * Return only limit results.\n     *\n     * @param {number} limit\n     * @returns {string}\n     */\n    Query.limit = (limit) => new Query(\"limit\", undefined, limit).toString();\n    /**\n     * Filter resources by skipping the first offset results.\n     *\n     * @param {number} offset\n     * @returns {string}\n     */\n    Query.offset = (offset) => new Query(\"offset\", undefined, offset).toString();\n    /**\n     * Filter resources where attribute contains the specified value.\n     * For string attributes, checks if the string contains the substring.\n     *\n     * Note: For array attributes, use {@link containsAny} or {@link containsAll} instead.\n     * @param {string} attribute\n     * @param {string | string[]} value\n     * @returns {string}\n     */\n    Query.contains = (attribute, value) => new Query(\"contains\", attribute, value).toString();\n    /**\n     * Filter resources where attribute contains ANY of the specified values.\n     * For array and relationship attributes, matches documents where the attribute\n     * contains at least one of the given values.\n     *\n     * @param {string} attribute\n     * @param {any[]} value\n     * @returns {string}\n     */\n    Query.containsAny = (attribute, value) => new Query(\"containsAny\", attribute, value).toString();\n    /**\n     * Filter resources where attribute contains ALL of the specified values.\n     * For array and relationship attributes, matches documents where the attribute\n     * contains every one of the given values.\n     *\n     * @param {string} attribute\n     * @param {any[]} value\n     * @returns {string}\n     */\n    Query.containsAll = (attribute, value) => new Query(\"containsAll\", attribute, value).toString();\n    /**\n     * Filter resources where attribute does not contain the specified value.\n     *\n     * @param {string} attribute\n     * @param {string | any[]} value\n     * @returns {string}\n     */\n    Query.notContains = (attribute, value) => new Query(\"notContains\", attribute, value).toString();\n    /**\n     * Filter resources by searching attribute for value (inverse of search).\n     * A fulltext index on attribute is required for this query to work.\n     *\n     * @param {string} attribute\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.notSearch = (attribute, value) => new Query(\"notSearch\", attribute, value).toString();\n    /**\n     * Filter resources where attribute is not between start and end (exclusive).\n     *\n     * @param {string} attribute\n     * @param {string | number | bigint} start\n     * @param {string | number | bigint} end\n     * @returns {string}\n     */\n    Query.notBetween = (attribute, start, end) => new Query(\"notBetween\", attribute, [start, end]).toString();\n    /**\n     * Filter resources where attribute does not start with value.\n     *\n     * @param {string} attribute\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.notStartsWith = (attribute, value) => new Query(\"notStartsWith\", attribute, value).toString();\n    /**\n     * Filter resources where attribute does not end with value.\n     *\n     * @param {string} attribute\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.notEndsWith = (attribute, value) => new Query(\"notEndsWith\", attribute, value).toString();\n    /**\n     * Filter resources where document was created before date.\n     *\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.createdBefore = (value) => Query.lessThan(\"$createdAt\", value);\n    /**\n     * Filter resources where document was created after date.\n     *\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.createdAfter = (value) => Query.greaterThan(\"$createdAt\", value);\n    /**\n     * Filter resources where document was created between dates.\n     *\n     * @param {string} start\n     * @param {string} end\n     * @returns {string}\n     */\n    Query.createdBetween = (start, end) => Query.between(\"$createdAt\", start, end);\n    /**\n     * Filter resources where document was updated before date.\n     *\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.updatedBefore = (value) => Query.lessThan(\"$updatedAt\", value);\n    /**\n     * Filter resources where document was updated after date.\n     *\n     * @param {string} value\n     * @returns {string}\n     */\n    Query.updatedAfter = (value) => Query.greaterThan(\"$updatedAt\", value);\n    /**\n     * Filter resources where document was updated between dates.\n     *\n     * @param {string} start\n     * @param {string} end\n     * @returns {string}\n     */\n    Query.updatedBetween = (start, end) => Query.between(\"$updatedAt\", start, end);\n    /**\n     * Combine multiple queries using logical OR operator.\n     *\n     * @param {string[]} queries\n     * @returns {string}\n     */\n    Query.or = (queries) => new Query(\"or\", undefined, queries.map((query) => JSONbig$1.parse(query))).toString();\n    /**\n     * Combine multiple queries using logical AND operator.\n     *\n     * @param {string[]} queries\n     * @returns {string}\n     */\n    Query.and = (queries) => new Query(\"and\", undefined, queries.map((query) => JSONbig$1.parse(query))).toString();\n    /**\n     * Filter array elements where at least one element matches all the specified queries.\n     *\n     * @param {string} attribute The attribute containing the array to filter on.\n     * @param {string[]} queries The list of query strings to match against array elements.\n     * @returns {string}\n     */\n    Query.elemMatch = (attribute, queries) => new Query(\"elemMatch\", attribute, queries.map((query) => JSONbig$1.parse(query))).toString();\n    /**\n     * Filter resources where attribute is at a specific distance from the given coordinates.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @param {number} distance\n     * @param {boolean} meters\n     * @returns {string}\n     */\n    Query.distanceEqual = (attribute, values, distance, meters = true) => new Query(\"distanceEqual\", attribute, [[values, distance, meters]]).toString();\n    /**\n     * Filter resources where attribute is not at a specific distance from the given coordinates.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @param {number} distance\n     * @param {boolean} meters\n     * @returns {string}\n     */\n    Query.distanceNotEqual = (attribute, values, distance, meters = true) => new Query(\"distanceNotEqual\", attribute, [[values, distance, meters]]).toString();\n    /**\n     * Filter resources where attribute is at a distance greater than the specified value from the given coordinates.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @param {number} distance\n     * @param {boolean} meters\n     * @returns {string}\n     */\n    Query.distanceGreaterThan = (attribute, values, distance, meters = true) => new Query(\"distanceGreaterThan\", attribute, [[values, distance, meters]]).toString();\n    /**\n     * Filter resources where attribute is at a distance less than the specified value from the given coordinates.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @param {number} distance\n     * @param {boolean} meters\n     * @returns {string}\n     */\n    Query.distanceLessThan = (attribute, values, distance, meters = true) => new Query(\"distanceLessThan\", attribute, [[values, distance, meters]]).toString();\n    /**\n     * Filter resources where attribute intersects with the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.intersects = (attribute, values) => new Query(\"intersects\", attribute, [values]).toString();\n    /**\n     * Filter resources where attribute does not intersect with the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.notIntersects = (attribute, values) => new Query(\"notIntersects\", attribute, [values]).toString();\n    /**\n     * Filter resources where attribute crosses the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.crosses = (attribute, values) => new Query(\"crosses\", attribute, [values]).toString();\n    /**\n     * Filter resources where attribute does not cross the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.notCrosses = (attribute, values) => new Query(\"notCrosses\", attribute, [values]).toString();\n    /**\n     * Filter resources where attribute overlaps with the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.overlaps = (attribute, values) => new Query(\"overlaps\", attribute, [values]).toString();\n    /**\n     * Filter resources where attribute does not overlap with the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.notOverlaps = (attribute, values) => new Query(\"notOverlaps\", attribute, [values]).toString();\n    /**\n     * Filter resources where attribute touches the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.touches = (attribute, values) => new Query(\"touches\", attribute, [values]).toString();\n    /**\n     * Filter resources where attribute does not touch the given geometry.\n     *\n     * @param {string} attribute\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Query.notTouches = (attribute, values) => new Query(\"notTouches\", attribute, [values]).toString();\n\n    const JSONbigParser = JSONbigModule({ storeAsString: false });\n    const JSONbigSerializer = JSONbigModule({ useNativeBigInt: true });\n    const MAX_SAFE = BigInt(Number.MAX_SAFE_INTEGER);\n    const MIN_SAFE = BigInt(Number.MIN_SAFE_INTEGER);\n    const MAX_INT64 = BigInt('9223372036854775807');\n    const MIN_INT64 = BigInt('-9223372036854775808');\n    function isBigNumber(value) {\n        return value !== null\n            && typeof value === 'object'\n            && value._isBigNumber === true\n            && typeof value.isInteger === 'function'\n            && typeof value.toFixed === 'function'\n            && typeof value.toNumber === 'function';\n    }\n    function reviver(_key, value) {\n        if (isBigNumber(value)) {\n            if (value.isInteger()) {\n                const str = value.toFixed();\n                const bi = BigInt(str);\n                if (bi >= MIN_SAFE && bi <= MAX_SAFE) {\n                    return Number(str);\n                }\n                if (bi >= MIN_INT64 && bi <= MAX_INT64) {\n                    return bi;\n                }\n                return value.toNumber();\n            }\n            return value.toNumber();\n        }\n        return value;\n    }\n    const JSONbig = {\n        parse: (text) => JSONbigParser.parse(text, reviver),\n        stringify: JSONbigSerializer.stringify\n    };\n    /**\n     * Exception thrown by the  package\n     */\n    class AppwriteException extends Error {\n        /**\n         * Initializes a Appwrite Exception.\n         *\n         * @param {string} message - The error message.\n         * @param {number} code - The error code. Default is 0.\n         * @param {string} type - The error type. Default is an empty string.\n         * @param {string} response - The response string. Default is an empty string.\n         */\n        constructor(message, code = 0, type = '', response = '') {\n            super(message);\n            this.name = 'AppwriteException';\n            this.message = message;\n            this.code = code;\n            this.type = type;\n            this.response = response;\n        }\n    }\n    /**\n     * Client that handles requests to Appwrite\n     */\n    class Client {\n        constructor() {\n            /**\n             * Holds configuration such as project.\n             */\n            this.config = {\n                endpoint: 'https://cloud.appwrite.io/v1',\n                endpointRealtime: '',\n                project: '',\n                key: '',\n                jwt: '',\n                locale: '',\n                mode: '',\n                cookie: '',\n                session: '',\n                devkey: '',\n                impersonateuserid: '',\n                impersonateuseremail: '',\n                impersonateuserphone: '',\n                platform: '',\n                selfSigned: false,\n            };\n            /**\n             * Custom headers for API requests.\n             */\n            this.headers = {\n                'x-sdk-name': 'Console',\n                'x-sdk-platform': 'console',\n                'x-sdk-language': 'web',\n                'x-sdk-version': '14.0.0',\n                'X-Appwrite-Response-Format': '1.9.5',\n            };\n            this.realtime = {\n                socket: undefined,\n                timeout: undefined,\n                heartbeat: undefined,\n                url: '',\n                channels: new Set(),\n                subscriptions: new Map(),\n                pendingSubscribes: new Map(),\n                reconnect: true,\n                reconnectAttempts: 0,\n                lastMessage: undefined,\n                connect: () => {\n                    clearTimeout(this.realtime.timeout);\n                    this.realtime.timeout = window === null || window === void 0 ? void 0 : window.setTimeout(() => {\n                        this.realtime.createSocket();\n                    }, 50);\n                },\n                getTimeout: () => {\n                    switch (true) {\n                        case this.realtime.reconnectAttempts < 5:\n                            return 1000;\n                        case this.realtime.reconnectAttempts < 15:\n                            return 5000;\n                        case this.realtime.reconnectAttempts < 100:\n                            return 10000;\n                        default:\n                            return 60000;\n                    }\n                },\n                createHeartbeat: () => {\n                    if (this.realtime.heartbeat) {\n                        clearTimeout(this.realtime.heartbeat);\n                    }\n                    this.realtime.heartbeat = window === null || window === void 0 ? void 0 : window.setInterval(() => {\n                        var _a;\n                        (_a = this.realtime.socket) === null || _a === void 0 ? void 0 : _a.send(JSONbig.stringify({\n                            type: 'ping'\n                        }));\n                    }, 20000);\n                },\n                createSocket: () => {\n                    var _a, _b, _c, _d, _e;\n                    if (this.realtime.subscriptions.size < 1) {\n                        this.realtime.reconnect = false;\n                        (_a = this.realtime.socket) === null || _a === void 0 ? void 0 : _a.close();\n                        return;\n                    }\n                    const encodedProject = encodeURIComponent((_b = this.config.project) !== null && _b !== void 0 ? _b : '');\n                    // URL carries only the project; channels/queries are sent via subscribe message.\n                    const queryParams = 'project=' + encodedProject;\n                    const url = this.config.endpointRealtime + '/realtime?' + queryParams;\n                    if (url !== this.realtime.url || // Check if URL is present\n                        !this.realtime.socket || // Check if WebSocket has not been created\n                        ((_c = this.realtime.socket) === null || _c === void 0 ? void 0 : _c.readyState) > WebSocket.OPEN // Check if WebSocket is CLOSING (3) or CLOSED (4)\n                    ) {\n                        if (this.realtime.socket &&\n                            ((_d = this.realtime.socket) === null || _d === void 0 ? void 0 : _d.readyState) < WebSocket.CLOSING // Close WebSocket if it is CONNECTING (0) or OPEN (1)\n                        ) {\n                            this.realtime.reconnect = false;\n                            this.realtime.socket.close();\n                        }\n                        this.realtime.url = url;\n                        this.realtime.socket = new WebSocket(url);\n                        this.realtime.socket.addEventListener('message', this.realtime.onMessage);\n                        this.realtime.socket.addEventListener('open', _event => {\n                            this.realtime.reconnectAttempts = 0;\n                            this.realtime.createHeartbeat();\n                        });\n                        this.realtime.socket.addEventListener('close', event => {\n                            var _a, _b, _c;\n                            if (!this.realtime.reconnect ||\n                                (((_b = (_a = this.realtime) === null || _a === void 0 ? void 0 : _a.lastMessage) === null || _b === void 0 ? void 0 : _b.type) === 'error' && // Check if last message was of type error\n                                    ((_c = this.realtime) === null || _c === void 0 ? void 0 : _c.lastMessage.data).code === 1008 // Check for policy violation 1008\n                                )) {\n                                this.realtime.reconnect = true;\n                                return;\n                            }\n                            const timeout = this.realtime.getTimeout();\n                            console.error(`Realtime got disconnected. Reconnect will be attempted in ${timeout / 1000} seconds.`, event.reason);\n                            setTimeout(() => {\n                                this.realtime.reconnectAttempts++;\n                                this.realtime.createSocket();\n                            }, timeout);\n                        });\n                    }\n                    else if (((_e = this.realtime.socket) === null || _e === void 0 ? void 0 : _e.readyState) === WebSocket.OPEN) {\n                        this.realtime.sendPendingSubscribes();\n                    }\n                },\n                sendPendingSubscribes: () => {\n                    if (!this.realtime.socket || this.realtime.socket.readyState !== WebSocket.OPEN) {\n                        return;\n                    }\n                    if (this.realtime.pendingSubscribes.size < 1) {\n                        return;\n                    }\n                    const rows = Array.from(this.realtime.pendingSubscribes.values());\n                    this.realtime.pendingSubscribes.clear();\n                    this.realtime.socket.send(JSONbig.stringify({\n                        type: 'subscribe',\n                        data: rows\n                    }));\n                },\n                onMessage: (event) => {\n                    var _a, _b;\n                    try {\n                        const message = JSONbig.parse(event.data);\n                        this.realtime.lastMessage = message;\n                        switch (message.type) {\n                            case 'connected': {\n                                const messageData = message.data;\n                                let session = this.config.session;\n                                if (!session) {\n                                    const cookie = JSONbig.parse((_a = window.localStorage.getItem('cookieFallback')) !== null && _a !== void 0 ? _a : '{}');\n                                    session = cookie === null || cookie === void 0 ? void 0 : cookie[`a_session_${this.config.project}`];\n                                }\n                                if (session && !(messageData === null || messageData === void 0 ? void 0 : messageData.user)) {\n                                    (_b = this.realtime.socket) === null || _b === void 0 ? void 0 : _b.send(JSONbig.stringify({\n                                        type: 'authentication',\n                                        data: {\n                                            session\n                                        }\n                                    }));\n                                }\n                                this.realtime.subscriptions.forEach((sub, subscriptionId) => {\n                                    var _a;\n                                    this.realtime.pendingSubscribes.set(subscriptionId, {\n                                        subscriptionId,\n                                        channels: sub.channels,\n                                        queries: (_a = sub.queries) !== null && _a !== void 0 ? _a : []\n                                    });\n                                });\n                                this.realtime.sendPendingSubscribes();\n                                break;\n                            }\n                            case 'response':\n                                // The SDK generates subscriptionIds client-side and sends them on every\n                                // subscribe/unsubscribe, so subscribe/unsubscribe acks carry no state\n                                // the SDK needs to reconcile.\n                                break;\n                            case 'event': {\n                                const data = message.data;\n                                if (!(data === null || data === void 0 ? void 0 : data.channels))\n                                    break;\n                                const eventSubIds = data.subscriptions;\n                                if (eventSubIds && eventSubIds.length > 0) {\n                                    for (const subscriptionId of eventSubIds) {\n                                        const subscription = this.realtime.subscriptions.get(subscriptionId);\n                                        if (subscription) {\n                                            setTimeout(() => subscription.callback(data));\n                                        }\n                                    }\n                                }\n                                else {\n                                    const isSubscribed = data.channels.some(channel => this.realtime.channels.has(channel));\n                                    if (!isSubscribed)\n                                        break;\n                                    this.realtime.subscriptions.forEach(subscription => {\n                                        if (data.channels.some(channel => subscription.channels.includes(channel))) {\n                                            setTimeout(() => subscription.callback(data));\n                                        }\n                                    });\n                                }\n                                break;\n                            }\n                            case 'pong':\n                                break; // Handle pong response if needed\n                            case 'error':\n                                throw message.data;\n                            default:\n                                break;\n                        }\n                    }\n                    catch (e) {\n                        console.error(e);\n                    }\n                }\n            };\n        }\n        /**\n         * Get Headers\n         *\n         * Returns a copy of the current request headers, including any\n         * authentication headers. Handle with care.\n         *\n         * @returns {Headers}\n         */\n        getHeaders() {\n            return Object.assign({}, this.headers);\n        }\n        /**\n         * Set Endpoint\n         *\n         * Your project endpoint\n         *\n         * @param {string} endpoint\n         *\n         * @returns {this}\n         */\n        setEndpoint(endpoint) {\n            if (!endpoint || typeof endpoint !== 'string') {\n                throw new AppwriteException('Endpoint must be a valid string');\n            }\n            if (!endpoint.startsWith('http://') && !endpoint.startsWith('https://')) {\n                throw new AppwriteException('Invalid endpoint URL: ' + endpoint);\n            }\n            this.config.endpoint = endpoint;\n            this.config.endpointRealtime = endpoint.replace('https://', 'wss://').replace('http://', 'ws://');\n            return this;\n        }\n        /**\n         * Set Realtime Endpoint\n         *\n         * @param {string} endpointRealtime\n         *\n         * @returns {this}\n         */\n        setEndpointRealtime(endpointRealtime) {\n            if (!endpointRealtime || typeof endpointRealtime !== 'string') {\n                throw new AppwriteException('Endpoint must be a valid string');\n            }\n            if (!endpointRealtime.startsWith('ws://') && !endpointRealtime.startsWith('wss://')) {\n                throw new AppwriteException('Invalid realtime endpoint URL: ' + endpointRealtime);\n            }\n            this.config.endpointRealtime = endpointRealtime;\n            return this;\n        }\n        /**\n         * Set self-signed\n         *\n         * @param {boolean} selfSigned\n         *\n         * @returns {this}\n         */\n        setSelfSigned(selfSigned) {\n            this.config.selfSigned = selfSigned;\n            return this;\n        }\n        /**\n         * Set Project\n         *\n         * Your project ID\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setProject(value) {\n            this.config.project = value;\n            return this;\n        }\n        /**\n         * Set Key\n         *\n         * Your secret API key\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setKey(value) {\n            this.headers['X-Appwrite-Key'] = value;\n            this.config.key = value;\n            return this;\n        }\n        /**\n         * Set JWT\n         *\n         * Your secret JSON Web Token\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setJWT(value) {\n            this.headers['X-Appwrite-JWT'] = value;\n            this.config.jwt = value;\n            return this;\n        }\n        /**\n         * Set Locale\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setLocale(value) {\n            this.headers['X-Appwrite-Locale'] = value;\n            this.config.locale = value;\n            return this;\n        }\n        /**\n         * Set Mode\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setMode(value) {\n            this.headers['X-Appwrite-Mode'] = value;\n            this.config.mode = value;\n            return this;\n        }\n        /**\n         * Set Cookie\n         *\n         * The user cookie to authenticate with. Used by SDKs that forward an incoming Cookie header in server-side runtimes.\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setCookie(value) {\n            this.headers['Cookie'] = value;\n            this.config.cookie = value;\n            return this;\n        }\n        /**\n         * Set Session\n         *\n         * The user session to authenticate with\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setSession(value) {\n            this.headers['X-Appwrite-Session'] = value;\n            this.config.session = value;\n            return this;\n        }\n        /**\n         * Set DevKey\n         *\n         * Your secret dev API key\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setDevKey(value) {\n            this.headers['X-Appwrite-Dev-Key'] = value;\n            this.config.devkey = value;\n            return this;\n        }\n        /**\n         * Set ImpersonateUserId\n         *\n         * Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setImpersonateUserId(value) {\n            this.headers['X-Appwrite-Impersonate-User-Id'] = value;\n            this.config.impersonateuserid = value;\n            return this;\n        }\n        /**\n         * Set ImpersonateUserEmail\n         *\n         * Impersonate a user by email on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setImpersonateUserEmail(value) {\n            this.headers['X-Appwrite-Impersonate-User-Email'] = value;\n            this.config.impersonateuseremail = value;\n            return this;\n        }\n        /**\n         * Set ImpersonateUserPhone\n         *\n         * Impersonate a user by phone on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setImpersonateUserPhone(value) {\n            this.headers['X-Appwrite-Impersonate-User-Phone'] = value;\n            this.config.impersonateuserphone = value;\n            return this;\n        }\n        /**\n         * Set Platform\n         *\n         * The platform type (Appwrite or Imagine)\n         *\n         * @param value string\n         *\n         * @return {this}\n         */\n        setPlatform(value) {\n            this.headers['X-Appwrite-Platform'] = value;\n            this.config.platform = value;\n            return this;\n        }\n        /**\n         * Subscribes to Appwrite events and passes you the payload in realtime.\n         *\n         * @deprecated Use the Realtime service instead.\n         * @see Realtime\n         *\n         * @param {string|string[]|Channel<any>|ActionableChannel|ResolvedChannel|(Channel<any>|ActionableChannel|ResolvedChannel)[]} channels\n         * Channel to subscribe - pass a single channel as a string or Channel builder instance, or multiple with an array.\n         *\n         * Possible channels are:\n         * - account\n         * - collections\n         * - collections.[ID]\n         * - collections.[ID].documents\n         * - documents\n         * - documents.[ID]\n         * - files\n         * - files.[ID]\n         * - executions\n         * - executions.[ID]\n         * - functions.[ID]\n         * - teams\n         * - teams.[ID]\n         * - memberships\n         * - memberships.[ID]\n         *\n         * You can also use Channel builders:\n         * - Channel.database('db').collection('col').document('doc').create()\n         * - Channel.bucket('bucket').file('file').update()\n         * - Channel.function('func').execution('exec').delete()\n         * - Channel.team('team').create()\n         * - Channel.membership('membership').update()\n         * @param {(payload: RealtimeMessage) => void} callback Is called on every realtime update.\n         * @returns {() => void} Unsubscribes from events.\n         */\n        subscribe(channels, callback, queries = []) {\n            const channelArray = Array.isArray(channels) ? channels : [channels];\n            // Convert Channel instances to strings\n            const channelStrings = channelArray.map(ch => {\n                if (typeof ch === 'string') {\n                    return ch;\n                }\n                // All Channel instances have toString() method\n                if (ch && typeof ch.toString === 'function') {\n                    return ch.toString();\n                }\n                // Fallback to generic string conversion\n                return String(ch);\n            });\n            channelStrings.forEach(channel => this.realtime.channels.add(channel));\n            const queryStrings = (queries !== null && queries !== void 0 ? queries : []).map(q => typeof q === 'string' ? q : q.toString());\n            let subscriptionId = '';\n            const attempts = this.realtime.subscriptions.size + 1;\n            for (let i = 0; i < attempts; i++) {\n                const candidate = ID.unique();\n                if (!this.realtime.subscriptions.has(candidate)) {\n                    subscriptionId = candidate;\n                    break;\n                }\n            }\n            if (subscriptionId === '') {\n                throw new AppwriteException('Failed to generate unique subscription id');\n            }\n            this.realtime.subscriptions.set(subscriptionId, {\n                channels: channelStrings,\n                queries: queryStrings,\n                callback\n            });\n            this.realtime.pendingSubscribes.set(subscriptionId, {\n                subscriptionId,\n                channels: channelStrings,\n                queries: queryStrings\n            });\n            this.realtime.connect();\n            return () => {\n                this.realtime.subscriptions.delete(subscriptionId);\n                this.realtime.pendingSubscribes.delete(subscriptionId);\n                const stillUsed = new Set();\n                this.realtime.subscriptions.forEach(sub => {\n                    sub.channels.forEach(channel => stillUsed.add(channel));\n                });\n                this.realtime.channels.forEach(channel => {\n                    if (!stillUsed.has(channel)) {\n                        this.realtime.channels.delete(channel);\n                    }\n                });\n                this.realtime.connect();\n            };\n        }\n        prepareRequest(method, url, headers = {}, params = {}) {\n            method = method.toUpperCase();\n            headers = Object.assign({}, this.headers, headers);\n            if (typeof window !== 'undefined' && window.localStorage) {\n                const cookieFallback = window.localStorage.getItem('cookieFallback');\n                if (cookieFallback) {\n                    headers['X-Fallback-Cookies'] = cookieFallback;\n                }\n            }\n            let options = {\n                method,\n                headers,\n            };\n            if (headers['X-Appwrite-Dev-Key'] === undefined) {\n                options.credentials = 'include';\n            }\n            if (method === 'GET') {\n                for (const [key, value] of Object.entries(Client.flatten(params))) {\n                    url.searchParams.append(key, value);\n                }\n            }\n            else {\n                switch (headers['content-type']) {\n                    case 'application/json':\n                        options.body = JSONbig.stringify(params);\n                        break;\n                    case 'multipart/form-data':\n                        const formData = new FormData();\n                        for (const [key, value] of Object.entries(params)) {\n                            if (value instanceof File) {\n                                formData.append(key, value, value.name);\n                            }\n                            else if (Array.isArray(value)) {\n                                for (const nestedValue of value) {\n                                    formData.append(`${key}[]`, nestedValue);\n                                }\n                            }\n                            else {\n                                formData.append(key, value);\n                            }\n                        }\n                        options.body = formData;\n                        delete headers['content-type'];\n                        break;\n                }\n            }\n            return { uri: url.toString(), options };\n        }\n        chunkedUpload(method_1, url_1) {\n            return __awaiter(this, arguments, void 0, function* (method, url, headers = {}, originalPayload = {}, onProgress) {\n                var _a;\n                const [fileParam, file] = (_a = Object.entries(originalPayload).find(([_, value]) => value instanceof File)) !== null && _a !== void 0 ? _a : [];\n                if (!file || !fileParam) {\n                    throw new Error('File not found in payload');\n                }\n                if (file.size <= Client.CHUNK_SIZE) {\n                    return yield this.call(method, url, headers, originalPayload);\n                }\n                const totalChunks = Math.ceil(file.size / Client.CHUNK_SIZE);\n                // Upload first chunk alone to get the upload ID\n                const firstChunkEnd = Math.min(Client.CHUNK_SIZE, file.size);\n                const firstChunkHeaders = Object.assign(Object.assign({}, headers), { 'content-range': `bytes 0-${firstChunkEnd - 1}/${file.size}` });\n                const firstChunk = file.slice(0, firstChunkEnd);\n                const firstPayload = Object.assign({}, originalPayload);\n                firstPayload[fileParam] = new File([firstChunk], file.name);\n                let response = yield this.call(method, url, firstChunkHeaders, firstPayload);\n                const uploadId = response === null || response === void 0 ? void 0 : response.$id;\n                if (onProgress && typeof onProgress === 'function') {\n                    onProgress({\n                        $id: uploadId,\n                        progress: Math.round((firstChunkEnd / file.size) * 100),\n                        sizeUploaded: firstChunkEnd,\n                        chunksTotal: totalChunks,\n                        chunksUploaded: 1\n                    });\n                }\n                if (totalChunks === 1) {\n                    return response;\n                }\n                // Prepare remaining chunks\n                const chunks = [];\n                for (let i = 1; i < totalChunks; i++) {\n                    const start = i * Client.CHUNK_SIZE;\n                    const end = Math.min(start + Client.CHUNK_SIZE, file.size);\n                    chunks.push({ start, end });\n                }\n                // Upload remaining chunks with max concurrency of 8\n                const CONCURRENCY = 8;\n                let completedCount = 1;\n                let uploadedBytes = firstChunkEnd;\n                let lastResponse = response;\n                let finalResponse = null;\n                let rejected = false;\n                const isUploadComplete = (chunkResponse) => {\n                    var _a;\n                    const chunksUploaded = chunkResponse === null || chunkResponse === void 0 ? void 0 : chunkResponse.chunksUploaded;\n                    const chunksTotal = (_a = chunkResponse === null || chunkResponse === void 0 ? void 0 : chunkResponse.chunksTotal) !== null && _a !== void 0 ? _a : totalChunks;\n                    return typeof chunksUploaded === 'number' && typeof chunksTotal === 'number' && chunksUploaded >= chunksTotal;\n                };\n                const uploadChunk = (chunk) => __awaiter(this, void 0, void 0, function* () {\n                    const chunkHeaders = Object.assign({}, headers);\n                    if (uploadId) {\n                        chunkHeaders['x-appwrite-id'] = uploadId;\n                    }\n                    chunkHeaders['content-range'] = `bytes ${chunk.start}-${chunk.end - 1}/${file.size}`;\n                    const chunkBlob = file.slice(chunk.start, chunk.end);\n                    const chunkPayload = Object.assign({}, originalPayload);\n                    chunkPayload[fileParam] = new File([chunkBlob], file.name);\n                    const chunkResponse = yield this.call(method, url, chunkHeaders, chunkPayload);\n                    if (rejected) {\n                        return chunkResponse;\n                    }\n                    completedCount++;\n                    uploadedBytes += (chunk.end - chunk.start);\n                    lastResponse = chunkResponse;\n                    if (isUploadComplete(chunkResponse)) {\n                        finalResponse = chunkResponse;\n                    }\n                    if (onProgress && typeof onProgress === 'function') {\n                        onProgress({\n                            $id: uploadId,\n                            progress: Math.round((uploadedBytes / file.size) * 100),\n                            sizeUploaded: uploadedBytes,\n                            chunksTotal: totalChunks,\n                            chunksUploaded: completedCount\n                        });\n                    }\n                    return chunkResponse;\n                });\n                yield new Promise((resolve, reject) => {\n                    let nextChunk = 0;\n                    let inFlight = 0;\n                    let completed = 0;\n                    const uploadNext = () => {\n                        if (rejected) {\n                            return;\n                        }\n                        if (completed === chunks.length) {\n                            resolve();\n                            return;\n                        }\n                        while (inFlight < CONCURRENCY && nextChunk < chunks.length) {\n                            const chunk = chunks[nextChunk++];\n                            inFlight++;\n                            uploadChunk(chunk)\n                                .then(() => {\n                                inFlight--;\n                                completed++;\n                                uploadNext();\n                            })\n                                .catch((error) => {\n                                rejected = true;\n                                reject(error);\n                            });\n                        }\n                    };\n                    uploadNext();\n                });\n                return finalResponse !== null && finalResponse !== void 0 ? finalResponse : lastResponse;\n            });\n        }\n        ping() {\n            return __awaiter(this, void 0, void 0, function* () {\n                return this.call('GET', new URL(this.config.endpoint + '/ping'), {\n                    'X-Appwrite-Project': this.config.project,\n                });\n            });\n        }\n        call(method_1, url_1) {\n            return __awaiter(this, arguments, void 0, function* (method, url, headers = {}, params = {}, responseType = 'json') {\n                var _a, _b;\n                const { uri, options } = this.prepareRequest(method, url, headers, params);\n                let data = null;\n                const response = yield fetch(uri, options);\n                // type opaque: No-CORS, different-origin response (CORS-issue)\n                if (response.type === 'opaque') {\n                    throw new AppwriteException(`Invalid Origin. Register your new client (${window.location.host}) as a new Web platform on your project console dashboard`, 403, \"forbidden\", \"\");\n                }\n                const warnings = response.headers.get('x-appwrite-warning');\n                if (warnings) {\n                    warnings.split(';').forEach((warning) => console.warn('Warning: ' + warning));\n                }\n                if ((_a = response.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.includes('application/json')) {\n                    data = JSONbig.parse(yield response.text());\n                }\n                else if (responseType === 'arrayBuffer') {\n                    data = yield response.arrayBuffer();\n                }\n                else {\n                    data = {\n                        message: yield response.text()\n                    };\n                }\n                if (400 <= response.status) {\n                    let responseText = '';\n                    if (((_b = response.headers.get('content-type')) === null || _b === void 0 ? void 0 : _b.includes('application/json')) || responseType === 'arrayBuffer') {\n                        responseText = JSONbig.stringify(data);\n                    }\n                    else {\n                        responseText = data === null || data === void 0 ? void 0 : data.message;\n                    }\n                    throw new AppwriteException(data === null || data === void 0 ? void 0 : data.message, response.status, data === null || data === void 0 ? void 0 : data.type, responseText);\n                }\n                const cookieFallback = response.headers.get('X-Fallback-Cookies');\n                if (typeof window !== 'undefined' && window.localStorage && cookieFallback) {\n                    window.console.warn('Appwrite is using localStorage for session management. Increase your security by adding a custom domain as your API endpoint.');\n                    window.localStorage.setItem('cookieFallback', cookieFallback);\n                }\n                if (data && typeof data === 'object') {\n                    Object.defineProperty(data, 'toString', {\n                        value: () => JSONbig.stringify(data),\n                        writable: true,\n                        enumerable: false,\n                        configurable: true,\n                    });\n                }\n                return data;\n            });\n        }\n        static flatten(data, prefix = '') {\n            let output = {};\n            for (const [key, value] of Object.entries(data)) {\n                let finalKey = prefix ? prefix + '[' + key + ']' : key;\n                if (Array.isArray(value)) {\n                    output = Object.assign(Object.assign({}, output), Client.flatten(value, finalKey));\n                }\n                else {\n                    output[finalKey] = value;\n                }\n            }\n            return output;\n        }\n    }\n    Client.CHUNK_SIZE = 1024 * 1024 * 5;\n\n    class Service {\n        constructor(client) {\n            this.client = client;\n        }\n        static flatten(data, prefix = '') {\n            let output = {};\n            for (const [key, value] of Object.entries(data)) {\n                let finalKey = prefix ? prefix + '[' + key + ']' : key;\n                if (Array.isArray(value)) {\n                    output = Object.assign(Object.assign({}, output), Service.flatten(value, finalKey));\n                }\n                else {\n                    output[finalKey] = value;\n                }\n            }\n            return output;\n        }\n    }\n    /**\n     * The size for chunked uploads in bytes.\n     */\n    Service.CHUNK_SIZE = 5 * 1024 * 1024; // 5MB\n\n    class Account {\n        constructor(client) {\n            this.client = client;\n        }\n        /**\n         * Get the currently logged in user.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.User<Preferences>>}\n         */\n        get() {\n            const apiPath = '/account';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    name: rest[2]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/account';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        /**\n         * Delete the currently logged in user.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<{}>}\n         */\n        delete() {\n            const apiPath = '/account';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listBillingAddresses(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/account/billing-addresses';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createBillingAddress(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    country: paramsOrFirst,\n                    city: rest[0],\n                    streetAddress: rest[1],\n                    addressLine2: rest[2],\n                    state: rest[3],\n                    postalCode: rest[4]\n                };\n            }\n            const country = params.country;\n            const city = params.city;\n            const streetAddress = params.streetAddress;\n            const addressLine2 = params.addressLine2;\n            const state = params.state;\n            const postalCode = params.postalCode;\n            if (typeof country === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"country\"');\n            }\n            if (typeof city === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"city\"');\n            }\n            if (typeof streetAddress === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"streetAddress\"');\n            }\n            const apiPath = '/account/billing-addresses';\n            const payload = {};\n            if (typeof country !== 'undefined') {\n                payload['country'] = country;\n            }\n            if (typeof city !== 'undefined') {\n                payload['city'] = city;\n            }\n            if (typeof streetAddress !== 'undefined') {\n                payload['streetAddress'] = streetAddress;\n            }\n            if (typeof addressLine2 !== 'undefined') {\n                payload['addressLine2'] = addressLine2;\n            }\n            if (typeof state !== 'undefined') {\n                payload['state'] = state;\n            }\n            if (typeof postalCode !== 'undefined') {\n                payload['postalCode'] = postalCode;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getBillingAddress(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    billingAddressId: paramsOrFirst\n                };\n            }\n            const billingAddressId = params.billingAddressId;\n            if (typeof billingAddressId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingAddressId\"');\n            }\n            const apiPath = '/account/billing-addresses/{billingAddressId}'.replace('{billingAddressId}', billingAddressId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateBillingAddress(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    billingAddressId: paramsOrFirst,\n                    country: rest[0],\n                    city: rest[1],\n                    streetAddress: rest[2],\n                    addressLine2: rest[3],\n                    state: rest[4],\n                    postalCode: rest[5]\n                };\n            }\n            const billingAddressId = params.billingAddressId;\n            const country = params.country;\n            const city = params.city;\n            const streetAddress = params.streetAddress;\n            const addressLine2 = params.addressLine2;\n            const state = params.state;\n            const postalCode = params.postalCode;\n            if (typeof billingAddressId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingAddressId\"');\n            }\n            if (typeof country === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"country\"');\n            }\n            if (typeof city === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"city\"');\n            }\n            if (typeof streetAddress === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"streetAddress\"');\n            }\n            const apiPath = '/account/billing-addresses/{billingAddressId}'.replace('{billingAddressId}', billingAddressId);\n            const payload = {};\n            if (typeof country !== 'undefined') {\n                payload['country'] = country;\n            }\n            if (typeof city !== 'undefined') {\n                payload['city'] = city;\n            }\n            if (typeof streetAddress !== 'undefined') {\n                payload['streetAddress'] = streetAddress;\n            }\n            if (typeof addressLine2 !== 'undefined') {\n                payload['addressLine2'] = addressLine2;\n            }\n            if (typeof state !== 'undefined') {\n                payload['state'] = state;\n            }\n            if (typeof postalCode !== 'undefined') {\n                payload['postalCode'] = postalCode;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteBillingAddress(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    billingAddressId: paramsOrFirst\n                };\n            }\n            const billingAddressId = params.billingAddressId;\n            if (typeof billingAddressId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingAddressId\"');\n            }\n            const apiPath = '/account/billing-addresses/{billingAddressId}'.replace('{billingAddressId}', billingAddressId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getCoupon(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    couponId: paramsOrFirst\n                };\n            }\n            const couponId = params.couponId;\n            if (typeof couponId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"couponId\"');\n            }\n            const apiPath = '/account/coupons/{couponId}'.replace('{couponId}', couponId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateEmail(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    email: paramsOrFirst,\n                    password: rest[0]\n                };\n            }\n            const email = params.email;\n            const password = params.password;\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/account/email';\n            const payload = {};\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listIdentities(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/account/identities';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteIdentity(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    identityId: paramsOrFirst\n                };\n            }\n            const identityId = params.identityId;\n            if (typeof identityId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"identityId\"');\n            }\n            const apiPath = '/account/identities/{identityId}'.replace('{identityId}', identityId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listInvoices(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/account/invoices';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createJWT(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    duration: paramsOrFirst\n                };\n            }\n            const duration = params.duration;\n            const apiPath = '/account/jwts';\n            const payload = {};\n            if (typeof duration !== 'undefined') {\n                payload['duration'] = duration;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listKeys(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    total: paramsOrFirst\n                };\n            }\n            const total = params.total;\n            const apiPath = '/account/keys';\n            const payload = {};\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    name: paramsOrFirst,\n                    scopes: rest[0],\n                    expire: rest[1]\n                };\n            }\n            const name = params.name;\n            const scopes = params.scopes;\n            const expire = params.expire;\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof scopes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scopes\"');\n            }\n            const apiPath = '/account/keys';\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getKey(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst\n                };\n            }\n            const keyId = params.keyId;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/account/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst,\n                    name: rest[0],\n                    scopes: rest[1],\n                    expire: rest[2]\n                };\n            }\n            const keyId = params.keyId;\n            const name = params.name;\n            const scopes = params.scopes;\n            const expire = params.expire;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof scopes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scopes\"');\n            }\n            const apiPath = '/account/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteKey(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst\n                };\n            }\n            const keyId = params.keyId;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/account/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listLogs(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/account/logs';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateMFA(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    mfa: paramsOrFirst\n                };\n            }\n            const mfa = params.mfa;\n            if (typeof mfa === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"mfa\"');\n            }\n            const apiPath = '/account/mfa';\n            const payload = {};\n            if (typeof mfa !== 'undefined') {\n                payload['mfa'] = mfa;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createMfaAuthenticator(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    type: paramsOrFirst\n                };\n            }\n            const type = params.type;\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/account/mfa/authenticators/{type}'.replace('{type}', type);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createMFAAuthenticator(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    type: paramsOrFirst\n                };\n            }\n            const type = params.type;\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/account/mfa/authenticators/{type}'.replace('{type}', type);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateMfaAuthenticator(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst || 'otp' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    type: paramsOrFirst,\n                    otp: rest[0]\n                };\n            }\n            const type = params.type;\n            const otp = params.otp;\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof otp === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"otp\"');\n            }\n            const apiPath = '/account/mfa/authenticators/{type}'.replace('{type}', type);\n            const payload = {};\n            if (typeof otp !== 'undefined') {\n                payload['otp'] = otp;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateMFAAuthenticator(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst || 'otp' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    type: paramsOrFirst,\n                    otp: rest[0]\n                };\n            }\n            const type = params.type;\n            const otp = params.otp;\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof otp === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"otp\"');\n            }\n            const apiPath = '/account/mfa/authenticators/{type}'.replace('{type}', type);\n            const payload = {};\n            if (typeof otp !== 'undefined') {\n                payload['otp'] = otp;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteMfaAuthenticator(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    type: paramsOrFirst\n                };\n            }\n            const type = params.type;\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/account/mfa/authenticators/{type}'.replace('{type}', type);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        deleteMFAAuthenticator(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('type' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    type: paramsOrFirst\n                };\n            }\n            const type = params.type;\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/account/mfa/authenticators/{type}'.replace('{type}', type);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createMfaChallenge(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('factor' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    factor: paramsOrFirst\n                };\n            }\n            const factor = params.factor;\n            if (typeof factor === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"factor\"');\n            }\n            const apiPath = '/account/mfa/challenges';\n            const payload = {};\n            if (typeof factor !== 'undefined') {\n                payload['factor'] = factor;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createMFAChallenge(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('factor' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    factor: paramsOrFirst\n                };\n            }\n            const factor = params.factor;\n            if (typeof factor === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"factor\"');\n            }\n            const apiPath = '/account/mfa/challenges';\n            const payload = {};\n            if (typeof factor !== 'undefined') {\n                payload['factor'] = factor;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateMfaChallenge(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    challengeId: paramsOrFirst,\n                    otp: rest[0]\n                };\n            }\n            const challengeId = params.challengeId;\n            const otp = params.otp;\n            if (typeof challengeId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"challengeId\"');\n            }\n            if (typeof otp === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"otp\"');\n            }\n            const apiPath = '/account/mfa/challenges';\n            const payload = {};\n            if (typeof challengeId !== 'undefined') {\n                payload['challengeId'] = challengeId;\n            }\n            if (typeof otp !== 'undefined') {\n                payload['otp'] = otp;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateMFAChallenge(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    challengeId: paramsOrFirst,\n                    otp: rest[0]\n                };\n            }\n            const challengeId = params.challengeId;\n            const otp = params.otp;\n            if (typeof challengeId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"challengeId\"');\n            }\n            if (typeof otp === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"otp\"');\n            }\n            const apiPath = '/account/mfa/challenges';\n            const payload = {};\n            if (typeof challengeId !== 'undefined') {\n                payload['challengeId'] = challengeId;\n            }\n            if (typeof otp !== 'undefined') {\n                payload['otp'] = otp;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        /**\n         * List the factors available on the account to be used as a MFA challange.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaFactors>}\n         * @deprecated This API has been deprecated since 1.8.0. Please use `Account.listMFAFactors` instead.\n         */\n        listMfaFactors() {\n            const apiPath = '/account/mfa/factors';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List the factors available on the account to be used as a MFA challange.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaFactors>}\n         */\n        listMFAFactors() {\n            const apiPath = '/account/mfa/factors';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaRecoveryCodes>}\n         * @deprecated This API has been deprecated since 1.8.0. Please use `Account.getMFARecoveryCodes` instead.\n         */\n        getMfaRecoveryCodes() {\n            const apiPath = '/account/mfa/recovery-codes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaRecoveryCodes>}\n         */\n        getMFARecoveryCodes() {\n            const apiPath = '/account/mfa/recovery-codes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge) method.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaRecoveryCodes>}\n         * @deprecated This API has been deprecated since 1.8.0. Please use `Account.createMFARecoveryCodes` instead.\n         */\n        createMfaRecoveryCodes() {\n            const apiPath = '/account/mfa/recovery-codes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        /**\n         * Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge) method.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaRecoveryCodes>}\n         */\n        createMFARecoveryCodes() {\n            const apiPath = '/account/mfa/recovery-codes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        /**\n         * Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaRecoveryCodes>}\n         * @deprecated This API has been deprecated since 1.8.0. Please use `Account.updateMFARecoveryCodes` instead.\n         */\n        updateMfaRecoveryCodes() {\n            const apiPath = '/account/mfa/recovery-codes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        /**\n         * Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.MfaRecoveryCodes>}\n         */\n        updateMFARecoveryCodes() {\n            const apiPath = '/account/mfa/recovery-codes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateName(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    name: paramsOrFirst\n                };\n            }\n            const name = params.name;\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/account/name';\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePassword(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    password: paramsOrFirst,\n                    oldPassword: rest[0]\n                };\n            }\n            const password = params.password;\n            const oldPassword = params.oldPassword;\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/account/password';\n            const payload = {};\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof oldPassword !== 'undefined') {\n                payload['oldPassword'] = oldPassword;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listPaymentMethods(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/account/payment-methods';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Create a new payment method for the current user account.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.PaymentMethod>}\n         */\n        createPaymentMethod() {\n            const apiPath = '/account/payment-methods';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPaymentMethod(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    paymentMethodId: paramsOrFirst\n                };\n            }\n            const paymentMethodId = params.paymentMethodId;\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/account/payment-methods/{paymentMethodId}'.replace('{paymentMethodId}', paymentMethodId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updatePaymentMethod(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    paymentMethodId: paramsOrFirst,\n                    expiryMonth: rest[0],\n                    expiryYear: rest[1],\n                    state: rest[2]\n                };\n            }\n            const paymentMethodId = params.paymentMethodId;\n            const expiryMonth = params.expiryMonth;\n            const expiryYear = params.expiryYear;\n            const state = params.state;\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            if (typeof expiryMonth === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"expiryMonth\"');\n            }\n            if (typeof expiryYear === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"expiryYear\"');\n            }\n            const apiPath = '/account/payment-methods/{paymentMethodId}'.replace('{paymentMethodId}', paymentMethodId);\n            const payload = {};\n            if (typeof expiryMonth !== 'undefined') {\n                payload['expiryMonth'] = expiryMonth;\n            }\n            if (typeof expiryYear !== 'undefined') {\n                payload['expiryYear'] = expiryYear;\n            }\n            if (typeof state !== 'undefined') {\n                payload['state'] = state;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deletePaymentMethod(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    paymentMethodId: paramsOrFirst\n                };\n            }\n            const paymentMethodId = params.paymentMethodId;\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/account/payment-methods/{paymentMethodId}'.replace('{paymentMethodId}', paymentMethodId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updatePaymentMethodProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    paymentMethodId: paramsOrFirst,\n                    providerMethodId: rest[0],\n                    name: rest[1],\n                    state: rest[2]\n                };\n            }\n            const paymentMethodId = params.paymentMethodId;\n            const providerMethodId = params.providerMethodId;\n            const name = params.name;\n            const state = params.state;\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            if (typeof providerMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerMethodId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/account/payment-methods/{paymentMethodId}/provider'.replace('{paymentMethodId}', paymentMethodId);\n            const payload = {};\n            if (typeof providerMethodId !== 'undefined') {\n                payload['providerMethodId'] = providerMethodId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof state !== 'undefined') {\n                payload['state'] = state;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePaymentMethodMandateOptions(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    paymentMethodId: paramsOrFirst\n                };\n            }\n            const paymentMethodId = params.paymentMethodId;\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/account/payment-methods/{paymentMethodId}/setup'.replace('{paymentMethodId}', paymentMethodId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePhone(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    phone: paramsOrFirst,\n                    password: rest[0]\n                };\n            }\n            const phone = params.phone;\n            const password = params.password;\n            if (typeof phone === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"phone\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/account/phone';\n            const payload = {};\n            if (typeof phone !== 'undefined') {\n                payload['phone'] = phone;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        /**\n         * Get the preferences as a key-value object for the currently logged in user.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Preferences>}\n         */\n        getPrefs() {\n            const apiPath = '/account/prefs';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updatePrefs(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('prefs' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    prefs: paramsOrFirst\n                };\n            }\n            const prefs = params.prefs;\n            if (typeof prefs === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"prefs\"');\n            }\n            const apiPath = '/account/prefs';\n            const payload = {};\n            if (typeof prefs !== 'undefined') {\n                payload['prefs'] = prefs;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createRecovery(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    email: paramsOrFirst,\n                    url: rest[0]\n                };\n            }\n            const email = params.email;\n            const url = params.url;\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            const apiPath = '/account/recovery';\n            const payload = {};\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecovery(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    secret: rest[0],\n                    password: rest[1]\n                };\n            }\n            const userId = params.userId;\n            const secret = params.secret;\n            const password = params.password;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/account/recovery';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        /**\n         * Get the list of active sessions across different devices for the currently logged in user.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.SessionList>}\n         */\n        listSessions() {\n            const apiPath = '/account/sessions';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Delete all sessions from the user account and remove any sessions cookies from the end client.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<{}>}\n         */\n        deleteSessions() {\n            const apiPath = '/account/sessions';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        /**\n         * Use this endpoint to allow a new user to register an anonymous account in your project. This route will also create a new session for the user. To allow the new user to convert an anonymous account to a normal account, you need to update its [email and password](https://appwrite.io/docs/references/cloud/client-web/account#updateEmail) or create an [OAuth2 session](https://appwrite.io/docs/references/cloud/client-web/account#CreateOAuth2Session).\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.Session>}\n         */\n        createAnonymousSession() {\n            const apiPath = '/account/sessions/anonymous';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createEmailPasswordSession(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    email: paramsOrFirst,\n                    password: rest[0]\n                };\n            }\n            const email = params.email;\n            const password = params.password;\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/account/sessions/email';\n            const payload = {};\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateMagicURLSession(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    secret: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const secret = params.secret;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            const apiPath = '/account/sessions/magic-url';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createOAuth2Session(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('provider' in paramsOrFirst || 'success' in paramsOrFirst || 'failure' in paramsOrFirst || 'scopes' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    provider: paramsOrFirst,\n                    success: rest[0],\n                    failure: rest[1],\n                    scopes: rest[2]\n                };\n            }\n            const provider = params.provider;\n            const success = params.success;\n            const failure = params.failure;\n            const scopes = params.scopes;\n            if (typeof provider === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"provider\"');\n            }\n            const apiPath = '/account/sessions/oauth2/{provider}'.replace('{provider}', provider);\n            const payload = {};\n            if (typeof success !== 'undefined') {\n                payload['success'] = success;\n            }\n            if (typeof failure !== 'undefined') {\n                payload['failure'] = failure;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            if (typeof window !== 'undefined' && (window === null || window === void 0 ? void 0 : window.location)) {\n                window.location.href = uri.toString();\n                return;\n            }\n            else {\n                return uri.toString();\n            }\n        }\n        updatePhoneSession(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    secret: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const secret = params.secret;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            const apiPath = '/account/sessions/phone';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createSession(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    secret: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const secret = params.secret;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            const apiPath = '/account/sessions/token';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getSession(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    sessionId: paramsOrFirst\n                };\n            }\n            const sessionId = params.sessionId;\n            if (typeof sessionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"sessionId\"');\n            }\n            const apiPath = '/account/sessions/{sessionId}'.replace('{sessionId}', sessionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateSession(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    sessionId: paramsOrFirst\n                };\n            }\n            const sessionId = params.sessionId;\n            if (typeof sessionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"sessionId\"');\n            }\n            const apiPath = '/account/sessions/{sessionId}'.replace('{sessionId}', sessionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteSession(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    sessionId: paramsOrFirst\n                };\n            }\n            const sessionId = params.sessionId;\n            if (typeof sessionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"sessionId\"');\n            }\n            const apiPath = '/account/sessions/{sessionId}'.replace('{sessionId}', sessionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        /**\n         * Block the currently logged in user account. Behind the scene, the user record is not deleted but permanently blocked from any access. To completely delete a user, use the Users API instead.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.User<Preferences>>}\n         */\n        updateStatus() {\n            const apiPath = '/account/status';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createPushTarget(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    targetId: paramsOrFirst,\n                    identifier: rest[0],\n                    providerId: rest[1]\n                };\n            }\n            const targetId = params.targetId;\n            const identifier = params.identifier;\n            const providerId = params.providerId;\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            if (typeof identifier === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"identifier\"');\n            }\n            const apiPath = '/account/targets/push';\n            const payload = {};\n            if (typeof targetId !== 'undefined') {\n                payload['targetId'] = targetId;\n            }\n            if (typeof identifier !== 'undefined') {\n                payload['identifier'] = identifier;\n            }\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePushTarget(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    targetId: paramsOrFirst,\n                    identifier: rest[0]\n                };\n            }\n            const targetId = params.targetId;\n            const identifier = params.identifier;\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            if (typeof identifier === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"identifier\"');\n            }\n            const apiPath = '/account/targets/{targetId}/push'.replace('{targetId}', targetId);\n            const payload = {};\n            if (typeof identifier !== 'undefined') {\n                payload['identifier'] = identifier;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deletePushTarget(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    targetId: paramsOrFirst\n                };\n            }\n            const targetId = params.targetId;\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            const apiPath = '/account/targets/{targetId}/push'.replace('{targetId}', targetId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createEmailToken(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    phrase: rest[1]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const phrase = params.phrase;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            const apiPath = '/account/tokens/email';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof phrase !== 'undefined') {\n                payload['phrase'] = phrase;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createMagicURLToken(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    url: rest[1],\n                    phrase: rest[2]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const url = params.url;\n            const phrase = params.phrase;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            const apiPath = '/account/tokens/magic-url';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            if (typeof phrase !== 'undefined') {\n                payload['phrase'] = phrase;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createOAuth2Token(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('provider' in paramsOrFirst || 'success' in paramsOrFirst || 'failure' in paramsOrFirst || 'scopes' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    provider: paramsOrFirst,\n                    success: rest[0],\n                    failure: rest[1],\n                    scopes: rest[2]\n                };\n            }\n            const provider = params.provider;\n            const success = params.success;\n            const failure = params.failure;\n            const scopes = params.scopes;\n            if (typeof provider === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"provider\"');\n            }\n            const apiPath = '/account/tokens/oauth2/{provider}'.replace('{provider}', provider);\n            const payload = {};\n            if (typeof success !== 'undefined') {\n                payload['success'] = success;\n            }\n            if (typeof failure !== 'undefined') {\n                payload['failure'] = failure;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            if (typeof window !== 'undefined' && (window === null || window === void 0 ? void 0 : window.location)) {\n                window.location.href = uri.toString();\n                return;\n            }\n            else {\n                return uri.toString();\n            }\n        }\n        createPhoneToken(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    phone: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const phone = params.phone;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof phone === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"phone\"');\n            }\n            const apiPath = '/account/tokens/phone';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof phone !== 'undefined') {\n                payload['phone'] = phone;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createEmailVerification(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    url: paramsOrFirst\n                };\n            }\n            const url = params.url;\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            const apiPath = '/account/verifications/email';\n            const payload = {};\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createVerification(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    url: paramsOrFirst\n                };\n            }\n            const url = params.url;\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            const apiPath = '/account/verifications/email';\n            const payload = {};\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateEmailVerification(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    secret: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const secret = params.secret;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            const apiPath = '/account/verifications/email';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateVerification(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    secret: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const secret = params.secret;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            const apiPath = '/account/verifications/email';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        /**\n         * Use this endpoint to send a verification SMS to the currently logged in user. This endpoint is meant for use after updating a user's phone number using the [accountUpdatePhone](https://appwrite.io/docs/references/cloud/client-web/account#updatePhone) endpoint. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updatePhoneVerification). The verification code sent to the user's phone number is valid for 15 minutes.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.Token>}\n         */\n        createPhoneVerification() {\n            const apiPath = '/account/verifications/phone';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePhoneVerification(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    secret: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const secret = params.secret;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            const apiPath = '/account/verifications/phone';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n    }\n\n    class Activities {\n        constructor(client) {\n            this.client = client;\n        }\n        listEvents(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/activities/events';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getEvent(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    eventId: paramsOrFirst\n                };\n            }\n            const eventId = params.eventId;\n            if (typeof eventId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"eventId\"');\n            }\n            const apiPath = '/activities/events/{eventId}'.replace('{eventId}', eventId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Apps {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/apps';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst,\n                    name: rest[0],\n                    redirectUris: rest[1],\n                    description: rest[2],\n                    clientUri: rest[3],\n                    logoUri: rest[4],\n                    privacyPolicyUrl: rest[5],\n                    termsUrl: rest[6],\n                    contacts: rest[7],\n                    enabled: rest[8],\n                    type: rest[9],\n                    deviceFlow: rest[10],\n                    teamId: rest[11]\n                };\n            }\n            const appId = params.appId;\n            const name = params.name;\n            const redirectUris = params.redirectUris;\n            const description = params.description;\n            const clientUri = params.clientUri;\n            const logoUri = params.logoUri;\n            const privacyPolicyUrl = params.privacyPolicyUrl;\n            const termsUrl = params.termsUrl;\n            const contacts = params.contacts;\n            const enabled = params.enabled;\n            const type = params.type;\n            const deviceFlow = params.deviceFlow;\n            const teamId = params.teamId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof redirectUris === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"redirectUris\"');\n            }\n            const apiPath = '/apps';\n            const payload = {};\n            if (typeof appId !== 'undefined') {\n                payload['appId'] = appId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof description !== 'undefined') {\n                payload['description'] = description;\n            }\n            if (typeof clientUri !== 'undefined') {\n                payload['clientUri'] = clientUri;\n            }\n            if (typeof logoUri !== 'undefined') {\n                payload['logoUri'] = logoUri;\n            }\n            if (typeof privacyPolicyUrl !== 'undefined') {\n                payload['privacyPolicyUrl'] = privacyPolicyUrl;\n            }\n            if (typeof termsUrl !== 'undefined') {\n                payload['termsUrl'] = termsUrl;\n            }\n            if (typeof contacts !== 'undefined') {\n                payload['contacts'] = contacts;\n            }\n            if (typeof redirectUris !== 'undefined') {\n                payload['redirectUris'] = redirectUris;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof deviceFlow !== 'undefined') {\n                payload['deviceFlow'] = deviceFlow;\n            }\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst\n                };\n            }\n            const appId = params.appId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            const apiPath = '/apps/{appId}'.replace('{appId}', appId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst,\n                    name: rest[0],\n                    description: rest[1],\n                    clientUri: rest[2],\n                    logoUri: rest[3],\n                    privacyPolicyUrl: rest[4],\n                    termsUrl: rest[5],\n                    contacts: rest[6],\n                    enabled: rest[7],\n                    redirectUris: rest[8],\n                    type: rest[9],\n                    deviceFlow: rest[10]\n                };\n            }\n            const appId = params.appId;\n            const name = params.name;\n            const description = params.description;\n            const clientUri = params.clientUri;\n            const logoUri = params.logoUri;\n            const privacyPolicyUrl = params.privacyPolicyUrl;\n            const termsUrl = params.termsUrl;\n            const contacts = params.contacts;\n            const enabled = params.enabled;\n            const redirectUris = params.redirectUris;\n            const type = params.type;\n            const deviceFlow = params.deviceFlow;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/apps/{appId}'.replace('{appId}', appId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof description !== 'undefined') {\n                payload['description'] = description;\n            }\n            if (typeof clientUri !== 'undefined') {\n                payload['clientUri'] = clientUri;\n            }\n            if (typeof logoUri !== 'undefined') {\n                payload['logoUri'] = logoUri;\n            }\n            if (typeof privacyPolicyUrl !== 'undefined') {\n                payload['privacyPolicyUrl'] = privacyPolicyUrl;\n            }\n            if (typeof termsUrl !== 'undefined') {\n                payload['termsUrl'] = termsUrl;\n            }\n            if (typeof contacts !== 'undefined') {\n                payload['contacts'] = contacts;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof redirectUris !== 'undefined') {\n                payload['redirectUris'] = redirectUris;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof deviceFlow !== 'undefined') {\n                payload['deviceFlow'] = deviceFlow;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst\n                };\n            }\n            const appId = params.appId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            const apiPath = '/apps/{appId}'.replace('{appId}', appId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listSecrets(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const appId = params.appId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            const apiPath = '/apps/{appId}/secrets'.replace('{appId}', appId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createSecret(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst\n                };\n            }\n            const appId = params.appId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            const apiPath = '/apps/{appId}/secrets'.replace('{appId}', appId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getSecret(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst,\n                    secretId: rest[0]\n                };\n            }\n            const appId = params.appId;\n            const secretId = params.secretId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            if (typeof secretId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secretId\"');\n            }\n            const apiPath = '/apps/{appId}/secrets/{secretId}'.replace('{appId}', appId).replace('{secretId}', secretId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteSecret(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst,\n                    secretId: rest[0]\n                };\n            }\n            const appId = params.appId;\n            const secretId = params.secretId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            if (typeof secretId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secretId\"');\n            }\n            const apiPath = '/apps/{appId}/secrets/{secretId}'.replace('{appId}', appId).replace('{secretId}', secretId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateTeam(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst,\n                    teamId: rest[0]\n                };\n            }\n            const appId = params.appId;\n            const teamId = params.teamId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/apps/{appId}/team'.replace('{appId}', appId);\n            const payload = {};\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteTokens(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst\n                };\n            }\n            const appId = params.appId;\n            if (typeof appId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"appId\"');\n            }\n            const apiPath = '/apps/{appId}/tokens'.replace('{appId}', appId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Avatars {\n        constructor(client) {\n            this.client = client;\n        }\n        getBrowser(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('code' in paramsOrFirst || 'width' in paramsOrFirst || 'height' in paramsOrFirst || 'quality' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    code: paramsOrFirst,\n                    width: rest[0],\n                    height: rest[1],\n                    quality: rest[2]\n                };\n            }\n            const code = params.code;\n            const width = params.width;\n            const height = params.height;\n            const quality = params.quality;\n            if (typeof code === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"code\"');\n            }\n            const apiPath = '/avatars/browsers/{code}'.replace('{code}', code);\n            const payload = {};\n            if (typeof width !== 'undefined') {\n                payload['width'] = width;\n            }\n            if (typeof height !== 'undefined') {\n                payload['height'] = height;\n            }\n            if (typeof quality !== 'undefined') {\n                payload['quality'] = quality;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getCreditCard(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('code' in paramsOrFirst || 'width' in paramsOrFirst || 'height' in paramsOrFirst || 'quality' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    code: paramsOrFirst,\n                    width: rest[0],\n                    height: rest[1],\n                    quality: rest[2]\n                };\n            }\n            const code = params.code;\n            const width = params.width;\n            const height = params.height;\n            const quality = params.quality;\n            if (typeof code === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"code\"');\n            }\n            const apiPath = '/avatars/credit-cards/{code}'.replace('{code}', code);\n            const payload = {};\n            if (typeof width !== 'undefined') {\n                payload['width'] = width;\n            }\n            if (typeof height !== 'undefined') {\n                payload['height'] = height;\n            }\n            if (typeof quality !== 'undefined') {\n                payload['quality'] = quality;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getFavicon(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    url: paramsOrFirst\n                };\n            }\n            const url = params.url;\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            const apiPath = '/avatars/favicon';\n            const payload = {};\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getFlag(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('code' in paramsOrFirst || 'width' in paramsOrFirst || 'height' in paramsOrFirst || 'quality' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    code: paramsOrFirst,\n                    width: rest[0],\n                    height: rest[1],\n                    quality: rest[2]\n                };\n            }\n            const code = params.code;\n            const width = params.width;\n            const height = params.height;\n            const quality = params.quality;\n            if (typeof code === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"code\"');\n            }\n            const apiPath = '/avatars/flags/{code}'.replace('{code}', code);\n            const payload = {};\n            if (typeof width !== 'undefined') {\n                payload['width'] = width;\n            }\n            if (typeof height !== 'undefined') {\n                payload['height'] = height;\n            }\n            if (typeof quality !== 'undefined') {\n                payload['quality'] = quality;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getImage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    url: paramsOrFirst,\n                    width: rest[0],\n                    height: rest[1]\n                };\n            }\n            const url = params.url;\n            const width = params.width;\n            const height = params.height;\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            const apiPath = '/avatars/image';\n            const payload = {};\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            if (typeof width !== 'undefined') {\n                payload['width'] = width;\n            }\n            if (typeof height !== 'undefined') {\n                payload['height'] = height;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getInitials(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    name: paramsOrFirst,\n                    width: rest[0],\n                    height: rest[1],\n                    background: rest[2]\n                };\n            }\n            const name = params.name;\n            const width = params.width;\n            const height = params.height;\n            const background = params.background;\n            const apiPath = '/avatars/initials';\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof width !== 'undefined') {\n                payload['width'] = width;\n            }\n            if (typeof height !== 'undefined') {\n                payload['height'] = height;\n            }\n            if (typeof background !== 'undefined') {\n                payload['background'] = background;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getQR(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    text: paramsOrFirst,\n                    size: rest[0],\n                    margin: rest[1],\n                    download: rest[2]\n                };\n            }\n            const text = params.text;\n            const size = params.size;\n            const margin = params.margin;\n            const download = params.download;\n            if (typeof text === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"text\"');\n            }\n            const apiPath = '/avatars/qr';\n            const payload = {};\n            if (typeof text !== 'undefined') {\n                payload['text'] = text;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof margin !== 'undefined') {\n                payload['margin'] = margin;\n            }\n            if (typeof download !== 'undefined') {\n                payload['download'] = download;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getScreenshot(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    url: paramsOrFirst,\n                    headers: rest[0],\n                    viewportWidth: rest[1],\n                    viewportHeight: rest[2],\n                    scale: rest[3],\n                    theme: rest[4],\n                    userAgent: rest[5],\n                    fullpage: rest[6],\n                    locale: rest[7],\n                    timezone: rest[8],\n                    latitude: rest[9],\n                    longitude: rest[10],\n                    accuracy: rest[11],\n                    touch: rest[12],\n                    permissions: rest[13],\n                    sleep: rest[14],\n                    width: rest[15],\n                    height: rest[16],\n                    quality: rest[17],\n                    output: rest[18]\n                };\n            }\n            const url = params.url;\n            const headers = params.headers;\n            const viewportWidth = params.viewportWidth;\n            const viewportHeight = params.viewportHeight;\n            const scale = params.scale;\n            const theme = params.theme;\n            const userAgent = params.userAgent;\n            const fullpage = params.fullpage;\n            const locale = params.locale;\n            const timezone = params.timezone;\n            const latitude = params.latitude;\n            const longitude = params.longitude;\n            const accuracy = params.accuracy;\n            const touch = params.touch;\n            const permissions = params.permissions;\n            const sleep = params.sleep;\n            const width = params.width;\n            const height = params.height;\n            const quality = params.quality;\n            const output = params.output;\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            const apiPath = '/avatars/screenshots';\n            const payload = {};\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            if (typeof headers !== 'undefined') {\n                payload['headers'] = headers;\n            }\n            if (typeof viewportWidth !== 'undefined') {\n                payload['viewportWidth'] = viewportWidth;\n            }\n            if (typeof viewportHeight !== 'undefined') {\n                payload['viewportHeight'] = viewportHeight;\n            }\n            if (typeof scale !== 'undefined') {\n                payload['scale'] = scale;\n            }\n            if (typeof theme !== 'undefined') {\n                payload['theme'] = theme;\n            }\n            if (typeof userAgent !== 'undefined') {\n                payload['userAgent'] = userAgent;\n            }\n            if (typeof fullpage !== 'undefined') {\n                payload['fullpage'] = fullpage;\n            }\n            if (typeof locale !== 'undefined') {\n                payload['locale'] = locale;\n            }\n            if (typeof timezone !== 'undefined') {\n                payload['timezone'] = timezone;\n            }\n            if (typeof latitude !== 'undefined') {\n                payload['latitude'] = latitude;\n            }\n            if (typeof longitude !== 'undefined') {\n                payload['longitude'] = longitude;\n            }\n            if (typeof accuracy !== 'undefined') {\n                payload['accuracy'] = accuracy;\n            }\n            if (typeof touch !== 'undefined') {\n                payload['touch'] = touch;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof sleep !== 'undefined') {\n                payload['sleep'] = sleep;\n            }\n            if (typeof width !== 'undefined') {\n                payload['width'] = width;\n            }\n            if (typeof height !== 'undefined') {\n                payload['height'] = height;\n            }\n            if (typeof quality !== 'undefined') {\n                payload['quality'] = quality;\n            }\n            if (typeof output !== 'undefined') {\n                payload['output'] = output;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n    }\n\n    class Backups {\n        constructor(client) {\n            this.client = client;\n        }\n        listArchives(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/backups/archives';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createArchive(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('services' in paramsOrFirst || 'resourceId' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    services: paramsOrFirst,\n                    resourceId: rest[0]\n                };\n            }\n            const services = params.services;\n            const resourceId = params.resourceId;\n            if (typeof services === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"services\"');\n            }\n            const apiPath = '/backups/archives';\n            const payload = {};\n            if (typeof services !== 'undefined') {\n                payload['services'] = services;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getArchive(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    archiveId: paramsOrFirst\n                };\n            }\n            const archiveId = params.archiveId;\n            if (typeof archiveId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"archiveId\"');\n            }\n            const apiPath = '/backups/archives/{archiveId}'.replace('{archiveId}', archiveId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteArchive(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    archiveId: paramsOrFirst\n                };\n            }\n            const archiveId = params.archiveId;\n            if (typeof archiveId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"archiveId\"');\n            }\n            const apiPath = '/backups/archives/{archiveId}'.replace('{archiveId}', archiveId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listPolicies(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/backups/policies';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPolicy(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    policyId: paramsOrFirst,\n                    services: rest[0],\n                    retention: rest[1],\n                    schedule: rest[2],\n                    name: rest[3],\n                    resourceId: rest[4],\n                    enabled: rest[5]\n                };\n            }\n            const policyId = params.policyId;\n            const services = params.services;\n            const retention = params.retention;\n            const schedule = params.schedule;\n            const name = params.name;\n            const resourceId = params.resourceId;\n            const enabled = params.enabled;\n            if (typeof policyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"policyId\"');\n            }\n            if (typeof services === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"services\"');\n            }\n            if (typeof retention === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"retention\"');\n            }\n            if (typeof schedule === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"schedule\"');\n            }\n            const apiPath = '/backups/policies';\n            const payload = {};\n            if (typeof policyId !== 'undefined') {\n                payload['policyId'] = policyId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof services !== 'undefined') {\n                payload['services'] = services;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof retention !== 'undefined') {\n                payload['retention'] = retention;\n            }\n            if (typeof schedule !== 'undefined') {\n                payload['schedule'] = schedule;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    policyId: paramsOrFirst\n                };\n            }\n            const policyId = params.policyId;\n            if (typeof policyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"policyId\"');\n            }\n            const apiPath = '/backups/policies/{policyId}'.replace('{policyId}', policyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updatePolicy(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    policyId: paramsOrFirst,\n                    name: rest[0],\n                    retention: rest[1],\n                    schedule: rest[2],\n                    enabled: rest[3]\n                };\n            }\n            const policyId = params.policyId;\n            const name = params.name;\n            const retention = params.retention;\n            const schedule = params.schedule;\n            const enabled = params.enabled;\n            if (typeof policyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"policyId\"');\n            }\n            const apiPath = '/backups/policies/{policyId}'.replace('{policyId}', policyId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof retention !== 'undefined') {\n                payload['retention'] = retention;\n            }\n            if (typeof schedule !== 'undefined') {\n                payload['schedule'] = schedule;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deletePolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    policyId: paramsOrFirst\n                };\n            }\n            const policyId = params.policyId;\n            if (typeof policyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"policyId\"');\n            }\n            const apiPath = '/backups/policies/{policyId}'.replace('{policyId}', policyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createRestoration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    archiveId: paramsOrFirst,\n                    services: rest[0],\n                    newResourceId: rest[1],\n                    newResourceName: rest[2]\n                };\n            }\n            const archiveId = params.archiveId;\n            const services = params.services;\n            const newResourceId = params.newResourceId;\n            const newResourceName = params.newResourceName;\n            if (typeof archiveId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"archiveId\"');\n            }\n            if (typeof services === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"services\"');\n            }\n            const apiPath = '/backups/restoration';\n            const payload = {};\n            if (typeof archiveId !== 'undefined') {\n                payload['archiveId'] = archiveId;\n            }\n            if (typeof services !== 'undefined') {\n                payload['services'] = services;\n            }\n            if (typeof newResourceId !== 'undefined') {\n                payload['newResourceId'] = newResourceId;\n            }\n            if (typeof newResourceName !== 'undefined') {\n                payload['newResourceName'] = newResourceName;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listRestorations(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/backups/restorations';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getRestoration(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    restorationId: paramsOrFirst\n                };\n            }\n            const restorationId = params.restorationId;\n            if (typeof restorationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"restorationId\"');\n            }\n            const apiPath = '/backups/restorations/{restorationId}'.replace('{restorationId}', restorationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Compute {\n        constructor(client) {\n            this.client = client;\n        }\n        listDatabases(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/compute/databases';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabase(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    database: rest[1],\n                    engine: rest[2],\n                    version: rest[3],\n                    specification: rest[4],\n                    backend: rest[5],\n                    cpu: rest[6],\n                    memory: rest[7],\n                    storage: rest[8],\n                    storageClass: rest[9],\n                    storageMaxGb: rest[10],\n                    replicas: rest[11],\n                    highAvailabilitySyncMode: rest[12],\n                    networkMaxConnections: rest[13],\n                    networkIdleTimeoutSeconds: rest[14],\n                    networkIPAllowlist: rest[15],\n                    idleTimeoutMinutes: rest[16],\n                    backupEnabled: rest[17],\n                    backupPitr: rest[18],\n                    backupCron: rest[19],\n                    backupRetentionDays: rest[20],\n                    pitrRetentionDays: rest[21],\n                    storageAutoscaling: rest[22],\n                    storageAutoscalingThresholdPercent: rest[23],\n                    storageAutoscalingMaxGb: rest[24],\n                    metricsEnabled: rest[25],\n                    poolerEnabled: rest[26],\n                    api: rest[27]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const database = params.database;\n            const engine = params.engine;\n            const version = params.version;\n            const specification = params.specification;\n            const backend = params.backend;\n            const cpu = params.cpu;\n            const memory = params.memory;\n            const storage = params.storage;\n            const storageClass = params.storageClass;\n            const storageMaxGb = params.storageMaxGb;\n            const replicas = params.replicas;\n            const highAvailabilitySyncMode = params.highAvailabilitySyncMode;\n            const networkMaxConnections = params.networkMaxConnections;\n            const networkIdleTimeoutSeconds = params.networkIdleTimeoutSeconds;\n            const networkIPAllowlist = params.networkIPAllowlist;\n            const idleTimeoutMinutes = params.idleTimeoutMinutes;\n            const backupEnabled = params.backupEnabled;\n            const backupPitr = params.backupPitr;\n            const backupCron = params.backupCron;\n            const backupRetentionDays = params.backupRetentionDays;\n            const pitrRetentionDays = params.pitrRetentionDays;\n            const storageAutoscaling = params.storageAutoscaling;\n            const storageAutoscalingThresholdPercent = params.storageAutoscalingThresholdPercent;\n            const storageAutoscalingMaxGb = params.storageAutoscalingMaxGb;\n            const metricsEnabled = params.metricsEnabled;\n            const poolerEnabled = params.poolerEnabled;\n            const api = params.api;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/compute/databases';\n            const payload = {};\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof database !== 'undefined') {\n                payload['database'] = database;\n            }\n            if (typeof engine !== 'undefined') {\n                payload['engine'] = engine;\n            }\n            if (typeof version !== 'undefined') {\n                payload['version'] = version;\n            }\n            if (typeof specification !== 'undefined') {\n                payload['specification'] = specification;\n            }\n            if (typeof backend !== 'undefined') {\n                payload['backend'] = backend;\n            }\n            if (typeof cpu !== 'undefined') {\n                payload['cpu'] = cpu;\n            }\n            if (typeof memory !== 'undefined') {\n                payload['memory'] = memory;\n            }\n            if (typeof storage !== 'undefined') {\n                payload['storage'] = storage;\n            }\n            if (typeof storageClass !== 'undefined') {\n                payload['storageClass'] = storageClass;\n            }\n            if (typeof storageMaxGb !== 'undefined') {\n                payload['storageMaxGb'] = storageMaxGb;\n            }\n            if (typeof replicas !== 'undefined') {\n                payload['replicas'] = replicas;\n            }\n            if (typeof highAvailabilitySyncMode !== 'undefined') {\n                payload['highAvailabilitySyncMode'] = highAvailabilitySyncMode;\n            }\n            if (typeof networkMaxConnections !== 'undefined') {\n                payload['networkMaxConnections'] = networkMaxConnections;\n            }\n            if (typeof networkIdleTimeoutSeconds !== 'undefined') {\n                payload['networkIdleTimeoutSeconds'] = networkIdleTimeoutSeconds;\n            }\n            if (typeof networkIPAllowlist !== 'undefined') {\n                payload['networkIPAllowlist'] = networkIPAllowlist;\n            }\n            if (typeof idleTimeoutMinutes !== 'undefined') {\n                payload['idleTimeoutMinutes'] = idleTimeoutMinutes;\n            }\n            if (typeof backupEnabled !== 'undefined') {\n                payload['backupEnabled'] = backupEnabled;\n            }\n            if (typeof backupPitr !== 'undefined') {\n                payload['backupPitr'] = backupPitr;\n            }\n            if (typeof backupCron !== 'undefined') {\n                payload['backupCron'] = backupCron;\n            }\n            if (typeof backupRetentionDays !== 'undefined') {\n                payload['backupRetentionDays'] = backupRetentionDays;\n            }\n            if (typeof pitrRetentionDays !== 'undefined') {\n                payload['pitrRetentionDays'] = pitrRetentionDays;\n            }\n            if (typeof storageAutoscaling !== 'undefined') {\n                payload['storageAutoscaling'] = storageAutoscaling;\n            }\n            if (typeof storageAutoscalingThresholdPercent !== 'undefined') {\n                payload['storageAutoscalingThresholdPercent'] = storageAutoscalingThresholdPercent;\n            }\n            if (typeof storageAutoscalingMaxGb !== 'undefined') {\n                payload['storageAutoscalingMaxGb'] = storageAutoscalingMaxGb;\n            }\n            if (typeof metricsEnabled !== 'undefined') {\n                payload['metricsEnabled'] = metricsEnabled;\n            }\n            if (typeof poolerEnabled !== 'undefined') {\n                payload['poolerEnabled'] = poolerEnabled;\n            }\n            if (typeof api !== 'undefined') {\n                payload['api'] = api;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        /**\n         * List the dedicated database specifications available on the current plan. Each specification reports its resource limits, pricing, and whether it is enabled for the organization.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.DedicatedDatabaseSpecificationList>}\n         */\n        listDatabaseSpecifications() {\n            const apiPath = '/compute/databases/specifications';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getDatabase(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateDatabase(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    status: rest[1],\n                    specification: rest[2],\n                    cpu: rest[3],\n                    memory: rest[4],\n                    storage: rest[5],\n                    storageClass: rest[6],\n                    replicas: rest[7],\n                    highAvailabilitySyncMode: rest[8],\n                    networkMaxConnections: rest[9],\n                    networkIdleTimeoutSeconds: rest[10],\n                    networkIPAllowlist: rest[11],\n                    idleTimeoutMinutes: rest[12],\n                    backupEnabled: rest[13],\n                    backupPitr: rest[14],\n                    backupCron: rest[15],\n                    backupRetentionDays: rest[16],\n                    pitrRetentionDays: rest[17],\n                    storageAutoscaling: rest[18],\n                    storageAutoscalingThresholdPercent: rest[19],\n                    storageAutoscalingMaxGb: rest[20],\n                    poolerEnabled: rest[21],\n                    metricsEnabled: rest[22],\n                    metricsTraceSampleRate: rest[23],\n                    metricsSlowQueryLogThresholdMs: rest[24],\n                    sqlApiEnabled: rest[25],\n                    sqlApiAllowedStatements: rest[26],\n                    sqlApiMaxRows: rest[27],\n                    sqlApiMaxBytes: rest[28],\n                    sqlApiTimeoutSeconds: rest[29]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const status = params.status;\n            const specification = params.specification;\n            const cpu = params.cpu;\n            const memory = params.memory;\n            const storage = params.storage;\n            const storageClass = params.storageClass;\n            const replicas = params.replicas;\n            const highAvailabilitySyncMode = params.highAvailabilitySyncMode;\n            const networkMaxConnections = params.networkMaxConnections;\n            const networkIdleTimeoutSeconds = params.networkIdleTimeoutSeconds;\n            const networkIPAllowlist = params.networkIPAllowlist;\n            const idleTimeoutMinutes = params.idleTimeoutMinutes;\n            const backupEnabled = params.backupEnabled;\n            const backupPitr = params.backupPitr;\n            const backupCron = params.backupCron;\n            const backupRetentionDays = params.backupRetentionDays;\n            const pitrRetentionDays = params.pitrRetentionDays;\n            const storageAutoscaling = params.storageAutoscaling;\n            const storageAutoscalingThresholdPercent = params.storageAutoscalingThresholdPercent;\n            const storageAutoscalingMaxGb = params.storageAutoscalingMaxGb;\n            const poolerEnabled = params.poolerEnabled;\n            const metricsEnabled = params.metricsEnabled;\n            const metricsTraceSampleRate = params.metricsTraceSampleRate;\n            const metricsSlowQueryLogThresholdMs = params.metricsSlowQueryLogThresholdMs;\n            const sqlApiEnabled = params.sqlApiEnabled;\n            const sqlApiAllowedStatements = params.sqlApiAllowedStatements;\n            const sqlApiMaxRows = params.sqlApiMaxRows;\n            const sqlApiMaxBytes = params.sqlApiMaxBytes;\n            const sqlApiTimeoutSeconds = params.sqlApiTimeoutSeconds;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof status !== 'undefined') {\n                payload['status'] = status;\n            }\n            if (typeof specification !== 'undefined') {\n                payload['specification'] = specification;\n            }\n            if (typeof cpu !== 'undefined') {\n                payload['cpu'] = cpu;\n            }\n            if (typeof memory !== 'undefined') {\n                payload['memory'] = memory;\n            }\n            if (typeof storage !== 'undefined') {\n                payload['storage'] = storage;\n            }\n            if (typeof storageClass !== 'undefined') {\n                payload['storageClass'] = storageClass;\n            }\n            if (typeof replicas !== 'undefined') {\n                payload['replicas'] = replicas;\n            }\n            if (typeof highAvailabilitySyncMode !== 'undefined') {\n                payload['highAvailabilitySyncMode'] = highAvailabilitySyncMode;\n            }\n            if (typeof networkMaxConnections !== 'undefined') {\n                payload['networkMaxConnections'] = networkMaxConnections;\n            }\n            if (typeof networkIdleTimeoutSeconds !== 'undefined') {\n                payload['networkIdleTimeoutSeconds'] = networkIdleTimeoutSeconds;\n            }\n            if (typeof networkIPAllowlist !== 'undefined') {\n                payload['networkIPAllowlist'] = networkIPAllowlist;\n            }\n            if (typeof idleTimeoutMinutes !== 'undefined') {\n                payload['idleTimeoutMinutes'] = idleTimeoutMinutes;\n            }\n            if (typeof backupEnabled !== 'undefined') {\n                payload['backupEnabled'] = backupEnabled;\n            }\n            if (typeof backupPitr !== 'undefined') {\n                payload['backupPitr'] = backupPitr;\n            }\n            if (typeof backupCron !== 'undefined') {\n                payload['backupCron'] = backupCron;\n            }\n            if (typeof backupRetentionDays !== 'undefined') {\n                payload['backupRetentionDays'] = backupRetentionDays;\n            }\n            if (typeof pitrRetentionDays !== 'undefined') {\n                payload['pitrRetentionDays'] = pitrRetentionDays;\n            }\n            if (typeof storageAutoscaling !== 'undefined') {\n                payload['storageAutoscaling'] = storageAutoscaling;\n            }\n            if (typeof storageAutoscalingThresholdPercent !== 'undefined') {\n                payload['storageAutoscalingThresholdPercent'] = storageAutoscalingThresholdPercent;\n            }\n            if (typeof storageAutoscalingMaxGb !== 'undefined') {\n                payload['storageAutoscalingMaxGb'] = storageAutoscalingMaxGb;\n            }\n            if (typeof poolerEnabled !== 'undefined') {\n                payload['poolerEnabled'] = poolerEnabled;\n            }\n            if (typeof metricsEnabled !== 'undefined') {\n                payload['metricsEnabled'] = metricsEnabled;\n            }\n            if (typeof metricsTraceSampleRate !== 'undefined') {\n                payload['metricsTraceSampleRate'] = metricsTraceSampleRate;\n            }\n            if (typeof metricsSlowQueryLogThresholdMs !== 'undefined') {\n                payload['metricsSlowQueryLogThresholdMs'] = metricsSlowQueryLogThresholdMs;\n            }\n            if (typeof sqlApiEnabled !== 'undefined') {\n                payload['sqlApiEnabled'] = sqlApiEnabled;\n            }\n            if (typeof sqlApiAllowedStatements !== 'undefined') {\n                payload['sqlApiAllowedStatements'] = sqlApiAllowedStatements;\n            }\n            if (typeof sqlApiMaxRows !== 'undefined') {\n                payload['sqlApiMaxRows'] = sqlApiMaxRows;\n            }\n            if (typeof sqlApiMaxBytes !== 'undefined') {\n                payload['sqlApiMaxBytes'] = sqlApiMaxBytes;\n            }\n            if (typeof sqlApiTimeoutSeconds !== 'undefined') {\n                payload['sqlApiTimeoutSeconds'] = sqlApiTimeoutSeconds;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDatabase(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listDatabaseBackups(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const queries = params.queries;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/backups'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseBackup(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    type: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const type = params.type;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/backups'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listDatabaseBackupPolicies(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const queries = params.queries;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/backups/policies'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseBackupPolicy(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    policyId: rest[0],\n                    name: rest[1],\n                    schedule: rest[2],\n                    retention: rest[3],\n                    type: rest[4],\n                    enabled: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const policyId = params.policyId;\n            const name = params.name;\n            const schedule = params.schedule;\n            const retention = params.retention;\n            const type = params.type;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof policyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"policyId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof schedule === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"schedule\"');\n            }\n            if (typeof retention === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"retention\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/backups/policies'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof policyId !== 'undefined') {\n                payload['policyId'] = policyId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof schedule !== 'undefined') {\n                payload['schedule'] = schedule;\n            }\n            if (typeof retention !== 'undefined') {\n                payload['retention'] = retention;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateDatabaseBackupStorage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    provider: rest[0],\n                    bucket: rest[1],\n                    accessKey: rest[2],\n                    secretKey: rest[3],\n                    region: rest[4],\n                    prefix: rest[5],\n                    endpoint: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const provider = params.provider;\n            const bucket = params.bucket;\n            const accessKey = params.accessKey;\n            const secretKey = params.secretKey;\n            const region = params.region;\n            const prefix = params.prefix;\n            const endpoint = params.endpoint;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof provider === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"provider\"');\n            }\n            if (typeof bucket === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucket\"');\n            }\n            if (typeof accessKey === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"accessKey\"');\n            }\n            if (typeof secretKey === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secretKey\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/backups/storage'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof provider !== 'undefined') {\n                payload['provider'] = provider;\n            }\n            if (typeof bucket !== 'undefined') {\n                payload['bucket'] = bucket;\n            }\n            if (typeof region !== 'undefined') {\n                payload['region'] = region;\n            }\n            if (typeof prefix !== 'undefined') {\n                payload['prefix'] = prefix;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof accessKey !== 'undefined') {\n                payload['accessKey'] = accessKey;\n            }\n            if (typeof secretKey !== 'undefined') {\n                payload['secretKey'] = secretKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        getDatabaseBackup(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    backupId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const backupId = params.backupId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof backupId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"backupId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/backups/{backupId}'.replace('{databaseId}', databaseId).replace('{backupId}', backupId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteDatabaseBackup(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    backupId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const backupId = params.backupId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof backupId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"backupId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/backups/{backupId}'.replace('{databaseId}', databaseId).replace('{backupId}', backupId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listDatabaseBranches(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/branches'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseBranch(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    branchId: rest[0],\n                    ttl: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const branchId = params.branchId;\n            const ttl = params.ttl;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/branches'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof branchId !== 'undefined') {\n                payload['branchId'] = branchId;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        deleteDatabaseBranch(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    branchId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const branchId = params.branchId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof branchId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"branchId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/branches/{branchId}'.replace('{databaseId}', databaseId).replace('{branchId}', branchId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listDatabaseConnections(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/connections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseConnection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    username: rest[0],\n                    role: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const username = params.username;\n            const role = params.role;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof username === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"username\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/connections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof role !== 'undefined') {\n                payload['role'] = role;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        deleteDatabaseConnection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    connectionId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const connectionId = params.connectionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof connectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"connectionId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/connections/{connectionId}'.replace('{databaseId}', databaseId).replace('{connectionId}', connectionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getDatabaseCredentials(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/credentials'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateDatabaseCredentials(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/credentials'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createDatabaseExecution(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    sql: rest[0],\n                    bindings: rest[1],\n                    timeoutSeconds: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const sql = params.sql;\n            const bindings = params.bindings;\n            const timeoutSeconds = params.timeoutSeconds;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof sql === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"sql\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/execution'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof sql !== 'undefined') {\n                payload['sql'] = sql;\n            }\n            if (typeof bindings !== 'undefined') {\n                payload['bindings'] = bindings;\n            }\n            if (typeof timeoutSeconds !== 'undefined') {\n                payload['timeoutSeconds'] = timeoutSeconds;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createDatabaseQueryExplanation(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    query: rest[0],\n                    analyze: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const query = params.query;\n            const analyze = params.analyze;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof query === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"query\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/explanation'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof query !== 'undefined') {\n                payload['query'] = query;\n            }\n            if (typeof analyze !== 'undefined') {\n                payload['analyze'] = analyze;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listDatabaseExtensions(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/extensions'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseExtension(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/extensions'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        deleteDatabaseExtension(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    extensionName: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const extensionName = params.extensionName;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof extensionName === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"extensionName\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/extensions/{extensionName}'.replace('{databaseId}', databaseId).replace('{extensionName}', extensionName);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getDatabaseHAStatus(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/ha'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseFailover(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    targetReplicaId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const targetReplicaId = params.targetReplicaId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/ha/failovers'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof targetReplicaId !== 'undefined') {\n                payload['targetReplicaId'] = targetReplicaId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateDatabaseMaintenanceWindow(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    day: rest[0],\n                    hourUtc: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const day = params.day;\n            const hourUtc = params.hourUtc;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof day === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"day\"');\n            }\n            if (typeof hourUtc === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"hourUtc\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/maintenance'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof day !== 'undefined') {\n                payload['day'] = day;\n            }\n            if (typeof hourUtc !== 'undefined') {\n                payload['hourUtc'] = hourUtc;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createDatabaseMigration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    targetType: rest[0],\n                    specification: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const targetType = params.targetType;\n            const specification = params.specification;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof targetType === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetType\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/migrations'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof targetType !== 'undefined') {\n                payload['targetType'] = targetType;\n            }\n            if (typeof specification !== 'undefined') {\n                payload['specification'] = specification;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getDatabasePITRWindows(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/pitr'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getDatabasePooler(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/pooler'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateDatabasePooler(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    mode: rest[0],\n                    maxConnections: rest[1],\n                    defaultPoolSize: rest[2],\n                    readWriteSplitting: rest[3],\n                    poolerCpuRequest: rest[4],\n                    poolerCpuLimit: rest[5],\n                    poolerMemoryRequest: rest[6],\n                    poolerMemoryLimit: rest[7]\n                };\n            }\n            const databaseId = params.databaseId;\n            const mode = params.mode;\n            const maxConnections = params.maxConnections;\n            const defaultPoolSize = params.defaultPoolSize;\n            const readWriteSplitting = params.readWriteSplitting;\n            const poolerCpuRequest = params.poolerCpuRequest;\n            const poolerCpuLimit = params.poolerCpuLimit;\n            const poolerMemoryRequest = params.poolerMemoryRequest;\n            const poolerMemoryLimit = params.poolerMemoryLimit;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/pooler'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof mode !== 'undefined') {\n                payload['mode'] = mode;\n            }\n            if (typeof maxConnections !== 'undefined') {\n                payload['maxConnections'] = maxConnections;\n            }\n            if (typeof defaultPoolSize !== 'undefined') {\n                payload['defaultPoolSize'] = defaultPoolSize;\n            }\n            if (typeof readWriteSplitting !== 'undefined') {\n                payload['readWriteSplitting'] = readWriteSplitting;\n            }\n            if (typeof poolerCpuRequest !== 'undefined') {\n                payload['poolerCpuRequest'] = poolerCpuRequest;\n            }\n            if (typeof poolerCpuLimit !== 'undefined') {\n                payload['poolerCpuLimit'] = poolerCpuLimit;\n            }\n            if (typeof poolerMemoryRequest !== 'undefined') {\n                payload['poolerMemoryRequest'] = poolerMemoryRequest;\n            }\n            if (typeof poolerMemoryLimit !== 'undefined') {\n                payload['poolerMemoryLimit'] = poolerMemoryLimit;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listDatabaseRestorations(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    status: rest[0],\n                    type: rest[1],\n                    limit: rest[2],\n                    offset: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const status = params.status;\n            const type = params.type;\n            const limit = params.limit;\n            const offset = params.offset;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/restorations'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof status !== 'undefined') {\n                payload['status'] = status;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof limit !== 'undefined') {\n                payload['limit'] = limit;\n            }\n            if (typeof offset !== 'undefined') {\n                payload['offset'] = offset;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseRestoration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    type: rest[0],\n                    backupId: rest[1],\n                    targetTime: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const type = params.type;\n            const backupId = params.backupId;\n            const targetTime = params.targetTime;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/restorations'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof backupId !== 'undefined') {\n                payload['backupId'] = backupId;\n            }\n            if (typeof targetTime !== 'undefined') {\n                payload['targetTime'] = targetTime;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getDatabaseRestoration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    restorationId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const restorationId = params.restorationId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof restorationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"restorationId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/restorations/{restorationId}'.replace('{databaseId}', databaseId).replace('{restorationId}', restorationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listDatabaseQueries(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    limit: rest[0],\n                    thresholdMs: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const limit = params.limit;\n            const thresholdMs = params.thresholdMs;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/slow-queries'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof limit !== 'undefined') {\n                payload['limit'] = limit;\n            }\n            if (typeof thresholdMs !== 'undefined') {\n                payload['thresholdMs'] = thresholdMs;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getDatabaseStatus(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/status'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDatabaseUpgrade(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    targetVersion: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const targetVersion = params.targetVersion;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof targetVersion === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetVersion\"');\n            }\n            const apiPath = '/compute/databases/{databaseId}/upgrades'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof targetVersion !== 'undefined') {\n                payload['targetVersion'] = targetVersion;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n    }\n\n    class Assistant {\n        constructor(client) {\n            this.client = client;\n        }\n        chat(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    prompt: paramsOrFirst\n                };\n            }\n            const prompt = params.prompt;\n            if (typeof prompt === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"prompt\"');\n            }\n            const apiPath = '/console/assistant';\n            const payload = {};\n            if (typeof prompt !== 'undefined') {\n                payload['prompt'] = prompt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'text/plain',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n    }\n\n    class Console {\n        constructor(client) {\n            this.client = client;\n        }\n        getCampaign(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    campaignId: paramsOrFirst\n                };\n            }\n            const campaignId = params.campaignId;\n            if (typeof campaignId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"campaignId\"');\n            }\n            const apiPath = '/console/campaigns/{campaignId}'.replace('{campaignId}', campaignId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getCoupon(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    couponId: paramsOrFirst\n                };\n            }\n            const couponId = params.couponId;\n            if (typeof couponId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"couponId\"');\n            }\n            const apiPath = '/console/coupons/{couponId}'.replace('{couponId}', couponId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List all OAuth2 providers supported by the Appwrite server, along with the parameters required to configure each provider. The response excludes mock providers but includes sandbox providers.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.ConsoleOAuth2ProviderList>}\n         */\n        listOAuth2Providers() {\n            const apiPath = '/console/oauth2-providers';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getPlans(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('platform' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platform: paramsOrFirst\n                };\n            }\n            const platform = params.platform;\n            const apiPath = '/console/plans';\n            const payload = {};\n            if (typeof platform !== 'undefined') {\n                payload['platform'] = platform;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getPlan(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    planId: paramsOrFirst\n                };\n            }\n            const planId = params.planId;\n            if (typeof planId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"planId\"');\n            }\n            const apiPath = '/console/plans/{planId}'.replace('{planId}', planId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getProgram(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    programId: paramsOrFirst\n                };\n            }\n            const programId = params.programId;\n            if (typeof programId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"programId\"');\n            }\n            const apiPath = '/console/programs/{programId}'.replace('{programId}', programId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createProgramMembership(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    programId: paramsOrFirst\n                };\n            }\n            const programId = params.programId;\n            if (typeof programId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"programId\"');\n            }\n            const apiPath = '/console/programs/{programId}/memberships'.replace('{programId}', programId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        /**\n         * Get all available regions for the console.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.ConsoleRegionList>}\n         */\n        listRegions() {\n            const apiPath = '/console/regions';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getResource(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    value: paramsOrFirst,\n                    type: rest[0]\n                };\n            }\n            const value = params.value;\n            const type = params.type;\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/console/resources';\n            const payload = {};\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List all scopes available for organization API keys, along with a description for each scope.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.ConsoleKeyScopeList>}\n         */\n        listOrganizationScopes() {\n            const apiPath = '/console/scopes/organization';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List all scopes available for project API keys, along with a description for each scope.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.ConsoleKeyScopeList>}\n         */\n        listProjectScopes() {\n            const apiPath = '/console/scopes/project';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createSource(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ref: paramsOrFirst,\n                    referrer: rest[0],\n                    utmSource: rest[1],\n                    utmCampaign: rest[2],\n                    utmMedium: rest[3]\n                };\n            }\n            const ref = params.ref;\n            const referrer = params.referrer;\n            const utmSource = params.utmSource;\n            const utmCampaign = params.utmCampaign;\n            const utmMedium = params.utmMedium;\n            const apiPath = '/console/sources';\n            const payload = {};\n            if (typeof ref !== 'undefined') {\n                payload['ref'] = ref;\n            }\n            if (typeof referrer !== 'undefined') {\n                payload['referrer'] = referrer;\n            }\n            if (typeof utmSource !== 'undefined') {\n                payload['utmSource'] = utmSource;\n            }\n            if (typeof utmCampaign !== 'undefined') {\n                payload['utmCampaign'] = utmCampaign;\n            }\n            if (typeof utmMedium !== 'undefined') {\n                payload['utmMedium'] = utmMedium;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        suggestColumns(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    context: rest[1],\n                    min: rest[2],\n                    max: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const context = params.context;\n            const min = params.min;\n            const max = params.max;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/console/suggestions/columns';\n            const payload = {};\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof tableId !== 'undefined') {\n                payload['tableId'] = tableId;\n            }\n            if (typeof context !== 'undefined') {\n                payload['context'] = context;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        suggestIndexes(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    min: rest[1],\n                    max: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const min = params.min;\n            const max = params.max;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/console/suggestions/indexes';\n            const payload = {};\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof tableId !== 'undefined') {\n                payload['tableId'] = tableId;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        suggestQueries(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resource' in paramsOrFirst || 'input' in paramsOrFirst || 'databaseId' in paramsOrFirst || 'tableId' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resource: paramsOrFirst,\n                    input: rest[0],\n                    databaseId: rest[1],\n                    tableId: rest[2]\n                };\n            }\n            const resource = params.resource;\n            const input = params.input;\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            if (typeof resource === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resource\"');\n            }\n            if (typeof input === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"input\"');\n            }\n            const apiPath = '/console/suggestions/queries';\n            const payload = {};\n            if (typeof resource !== 'undefined') {\n                payload['resource'] = resource;\n            }\n            if (typeof input !== 'undefined') {\n                payload['input'] = input;\n            }\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof tableId !== 'undefined') {\n                payload['tableId'] = tableId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getEmailTemplate(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('templateId' in paramsOrFirst || 'locale' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    templateId: paramsOrFirst,\n                    locale: rest[0]\n                };\n            }\n            const templateId = params.templateId;\n            const locale = params.locale;\n            if (typeof templateId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"templateId\"');\n            }\n            const apiPath = '/console/templates/email/{templateId}'.replace('{templateId}', templateId);\n            const payload = {};\n            if (typeof locale !== 'undefined') {\n                payload['locale'] = locale;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Get all Environment Variables that are relevant for the console.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.ConsoleVariables>}\n         */\n        variables() {\n            const apiPath = '/console/variables';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Databases {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/databases';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/databases';\n            const payload = {};\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listTransactions(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/databases/transactions';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTransaction(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ttl: paramsOrFirst\n                };\n            }\n            const ttl = params.ttl;\n            const apiPath = '/databases/transactions';\n            const payload = {};\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateTransaction(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst,\n                    commit: rest[0],\n                    rollback: rest[1]\n                };\n            }\n            const transactionId = params.transactionId;\n            const commit = params.commit;\n            const rollback = params.rollback;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            if (typeof commit !== 'undefined') {\n                payload['commit'] = commit;\n            }\n            if (typeof rollback !== 'undefined') {\n                payload['rollback'] = rollback;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/databases/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createOperations(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst,\n                    operations: rest[0]\n                };\n            }\n            const transactionId = params.transactionId;\n            const operations = params.operations;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/databases/transactions/{transactionId}/operations'.replace('{transactionId}', transactionId);\n            const payload = {};\n            if (typeof operations !== 'undefined') {\n                payload['operations'] = operations;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/databases/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/databases/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/databases/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/databases/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listCollections(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    name: rest[1],\n                    permissions: rest[2],\n                    documentSecurity: rest[3],\n                    enabled: rest[4],\n                    attributes: rest[5],\n                    indexes: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const documentSecurity = params.documentSecurity;\n            const enabled = params.enabled;\n            const attributes = params.attributes;\n            const indexes = params.indexes;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof collectionId !== 'undefined') {\n                payload['collectionId'] = collectionId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof documentSecurity !== 'undefined') {\n                payload['documentSecurity'] = documentSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof attributes !== 'undefined') {\n                payload['attributes'] = attributes;\n            }\n            if (typeof indexes !== 'undefined') {\n                payload['indexes'] = indexes;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    name: rest[1],\n                    permissions: rest[2],\n                    documentSecurity: rest[3],\n                    enabled: rest[4],\n                    purge: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const documentSecurity = params.documentSecurity;\n            const enabled = params.enabled;\n            const purge = params.purge;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof documentSecurity !== 'undefined') {\n                payload['documentSecurity'] = documentSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof purge !== 'undefined') {\n                payload['purge'] = purge;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listAttributes(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createBigIntAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    min: rest[3],\n                    max: rest[4],\n                    xdefault: rest[5],\n                    array: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const min = params.min;\n            const max = params.max;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/bigint'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateBigIntAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    min: rest[4],\n                    max: rest[5],\n                    newKey: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const min = params.min;\n            const max = params.max;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/bigint/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createBooleanAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/boolean'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateBooleanAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/boolean/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createDatetimeAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/datetime'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateDatetimeAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/datetime/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createEmailAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/email'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateEmailAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/email/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createEnumAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    elements: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    array: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const elements = params.elements;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof elements === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"elements\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/enum'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof elements !== 'undefined') {\n                payload['elements'] = elements;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateEnumAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    elements: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    newKey: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const elements = params.elements;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof elements === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"elements\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/enum/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof elements !== 'undefined') {\n                payload['elements'] = elements;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createFloatAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    min: rest[3],\n                    max: rest[4],\n                    xdefault: rest[5],\n                    array: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const min = params.min;\n            const max = params.max;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/float'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateFloatAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    min: rest[4],\n                    max: rest[5],\n                    newKey: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const min = params.min;\n            const max = params.max;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/float/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createIntegerAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    min: rest[3],\n                    max: rest[4],\n                    xdefault: rest[5],\n                    array: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const min = params.min;\n            const max = params.max;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/integer'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateIntegerAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    min: rest[4],\n                    max: rest[5],\n                    newKey: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const min = params.min;\n            const max = params.max;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/integer/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createIpAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/ip'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateIpAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/ip/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createLineAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/line'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateLineAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/line/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createLongtextAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4],\n                    encrypt: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/longtext'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateLongtextAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/longtext/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createMediumtextAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4],\n                    encrypt: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/mediumtext'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateMediumtextAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/mediumtext/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createPointAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/point'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePointAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/point/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createPolygonAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/polygon'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePolygonAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/polygon/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createRelationshipAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    relatedCollectionId: rest[1],\n                    type: rest[2],\n                    twoWay: rest[3],\n                    key: rest[4],\n                    twoWayKey: rest[5],\n                    onDelete: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const relatedCollectionId = params.relatedCollectionId;\n            const type = params.type;\n            const twoWay = params.twoWay;\n            const key = params.key;\n            const twoWayKey = params.twoWayKey;\n            const onDelete = params.onDelete;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof relatedCollectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"relatedCollectionId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/relationship'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof relatedCollectionId !== 'undefined') {\n                payload['relatedCollectionId'] = relatedCollectionId;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof twoWay !== 'undefined') {\n                payload['twoWay'] = twoWay;\n            }\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof twoWayKey !== 'undefined') {\n                payload['twoWayKey'] = twoWayKey;\n            }\n            if (typeof onDelete !== 'undefined') {\n                payload['onDelete'] = onDelete;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRelationshipAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    onDelete: rest[2],\n                    newKey: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const onDelete = params.onDelete;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/relationship/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof onDelete !== 'undefined') {\n                payload['onDelete'] = onDelete;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createStringAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    size: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    array: rest[5],\n                    encrypt: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const size = params.size;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof size === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"size\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/string'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateStringAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    size: rest[4],\n                    newKey: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const size = params.size;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/string/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createTextAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4],\n                    encrypt: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/text'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateTextAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/text/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createUrlAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/url'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateUrlAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/url/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createVarcharAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    size: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    array: rest[5],\n                    encrypt: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const size = params.size;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof size === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"size\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/varchar'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateVarcharAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    size: rest[4],\n                    newKey: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const size = params.size;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/varchar/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/attributes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2],\n                    total: rest[3],\n                    ttl: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            const total = params.total;\n            const ttl = params.ttl;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            if (typeof data === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"data\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documentId !== 'undefined') {\n                payload['documentId'] = documentId;\n            }\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documents: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documents = params.documents;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documents === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documents\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documents !== 'undefined') {\n                payload['documents'] = documents;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        upsertDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documents: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documents = params.documents;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documents === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documents\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documents !== 'undefined') {\n                payload['documents'] = documents;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    data: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const data = params.data;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        upsertDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listDocumentLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    queries: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const queries = params.queries;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/logs'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        decrementDocumentAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    attribute: rest[2],\n                    value: rest[3],\n                    min: rest[4],\n                    transactionId: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const attribute = params.attribute;\n            const value = params.value;\n            const min = params.min;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            if (typeof attribute === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"attribute\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);\n            const payload = {};\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        incrementDocumentAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    attribute: rest[2],\n                    value: rest[3],\n                    max: rest[4],\n                    transactionId: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const attribute = params.attribute;\n            const value = params.value;\n            const max = params.max;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            if (typeof attribute === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"attribute\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);\n            const payload = {};\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listIndexes(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/indexes'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    type: rest[2],\n                    attributes: rest[3],\n                    orders: rest[4],\n                    lengths: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const type = params.type;\n            const attributes = params.attributes;\n            const orders = params.orders;\n            const lengths = params.lengths;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof attributes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"attributes\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/indexes'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof attributes !== 'undefined') {\n                payload['attributes'] = attributes;\n            }\n            if (typeof orders !== 'undefined') {\n                payload['orders'] = orders;\n            }\n            if (typeof lengths !== 'undefined') {\n                payload['lengths'] = lengths;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listCollectionLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/logs'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getCollectionUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    range: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/databases/{databaseId}/collections/{collectionId}/usage'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const queries = params.queries;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/databases/{databaseId}/logs'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    range: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/databases/{databaseId}/usage'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class DocumentsDB {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/documentsdb';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    dedicatedDatabaseId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const dedicatedDatabaseId = params.dedicatedDatabaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/documentsdb';\n            const payload = {};\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof dedicatedDatabaseId !== 'undefined') {\n                payload['dedicatedDatabaseId'] = dedicatedDatabaseId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listTransactions(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/documentsdb/transactions';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTransaction(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ttl: paramsOrFirst\n                };\n            }\n            const ttl = params.ttl;\n            const apiPath = '/documentsdb/transactions';\n            const payload = {};\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/documentsdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateTransaction(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst,\n                    commit: rest[0],\n                    rollback: rest[1]\n                };\n            }\n            const transactionId = params.transactionId;\n            const commit = params.commit;\n            const rollback = params.rollback;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/documentsdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            if (typeof commit !== 'undefined') {\n                payload['commit'] = commit;\n            }\n            if (typeof rollback !== 'undefined') {\n                payload['rollback'] = rollback;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/documentsdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/documentsdb/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listCollections(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    name: rest[1],\n                    permissions: rest[2],\n                    documentSecurity: rest[3],\n                    enabled: rest[4],\n                    attributes: rest[5],\n                    indexes: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const documentSecurity = params.documentSecurity;\n            const enabled = params.enabled;\n            const attributes = params.attributes;\n            const indexes = params.indexes;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof collectionId !== 'undefined') {\n                payload['collectionId'] = collectionId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof documentSecurity !== 'undefined') {\n                payload['documentSecurity'] = documentSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof attributes !== 'undefined') {\n                payload['attributes'] = attributes;\n            }\n            if (typeof indexes !== 'undefined') {\n                payload['indexes'] = indexes;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    name: rest[1],\n                    permissions: rest[2],\n                    documentSecurity: rest[3],\n                    enabled: rest[4],\n                    purge: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const documentSecurity = params.documentSecurity;\n            const enabled = params.enabled;\n            const purge = params.purge;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof documentSecurity !== 'undefined') {\n                payload['documentSecurity'] = documentSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof purge !== 'undefined') {\n                payload['purge'] = purge;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2],\n                    total: rest[3],\n                    ttl: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            const total = params.total;\n            const ttl = params.ttl;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            if (typeof data === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"data\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documentId !== 'undefined') {\n                payload['documentId'] = documentId;\n            }\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documents: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documents = params.documents;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documents === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documents\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documents !== 'undefined') {\n                payload['documents'] = documents;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        upsertDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documents: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documents = params.documents;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documents === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documents\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documents !== 'undefined') {\n                payload['documents'] = documents;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    data: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const data = params.data;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        upsertDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        decrementDocumentAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    attribute: rest[2],\n                    value: rest[3],\n                    min: rest[4],\n                    transactionId: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const attribute = params.attribute;\n            const value = params.value;\n            const min = params.min;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            if (typeof attribute === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"attribute\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);\n            const payload = {};\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        incrementDocumentAttribute(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    attribute: rest[2],\n                    value: rest[3],\n                    max: rest[4],\n                    transactionId: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const attribute = params.attribute;\n            const value = params.value;\n            const max = params.max;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            if (typeof attribute === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"attribute\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId).replace('{attribute}', attribute);\n            const payload = {};\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listIndexes(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/indexes'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    type: rest[2],\n                    attributes: rest[3],\n                    orders: rest[4],\n                    lengths: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const type = params.type;\n            const attributes = params.attributes;\n            const orders = params.orders;\n            const lengths = params.lengths;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof attributes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"attributes\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/indexes'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof attributes !== 'undefined') {\n                payload['attributes'] = attributes;\n            }\n            if (typeof orders !== 'undefined') {\n                payload['orders'] = orders;\n            }\n            if (typeof lengths !== 'undefined') {\n                payload['lengths'] = lengths;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getCollectionUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    range: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/usage'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    range: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/documentsdb/{databaseId}/usage'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Domains {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const apiPath = '/domains';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    domain: rest[0]\n                };\n            }\n            const teamId = params.teamId;\n            const domain = params.domain;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            const apiPath = '/domains';\n            const payload = {};\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPrice(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst,\n                    periodYears: rest[0],\n                    registrationType: rest[1]\n                };\n            }\n            const domain = params.domain;\n            const periodYears = params.periodYears;\n            const registrationType = params.registrationType;\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            const apiPath = '/domains/price';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof periodYears !== 'undefined') {\n                payload['periodYears'] = periodYears;\n            }\n            if (typeof registrationType !== 'undefined') {\n                payload['registrationType'] = registrationType;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPurchase(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst,\n                    organizationId: rest[0],\n                    firstName: rest[1],\n                    lastName: rest[2],\n                    email: rest[3],\n                    phone: rest[4],\n                    billingAddressId: rest[5],\n                    paymentMethodId: rest[6],\n                    addressLine3: rest[7],\n                    companyName: rest[8],\n                    periodYears: rest[9],\n                    autoRenewal: rest[10]\n                };\n            }\n            const domain = params.domain;\n            const organizationId = params.organizationId;\n            const firstName = params.firstName;\n            const lastName = params.lastName;\n            const email = params.email;\n            const phone = params.phone;\n            const billingAddressId = params.billingAddressId;\n            const paymentMethodId = params.paymentMethodId;\n            const addressLine3 = params.addressLine3;\n            const companyName = params.companyName;\n            const periodYears = params.periodYears;\n            const autoRenewal = params.autoRenewal;\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof firstName === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"firstName\"');\n            }\n            if (typeof lastName === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"lastName\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof phone === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"phone\"');\n            }\n            if (typeof billingAddressId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingAddressId\"');\n            }\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/domains/purchases';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof organizationId !== 'undefined') {\n                payload['organizationId'] = organizationId;\n            }\n            if (typeof firstName !== 'undefined') {\n                payload['firstName'] = firstName;\n            }\n            if (typeof lastName !== 'undefined') {\n                payload['lastName'] = lastName;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof phone !== 'undefined') {\n                payload['phone'] = phone;\n            }\n            if (typeof billingAddressId !== 'undefined') {\n                payload['billingAddressId'] = billingAddressId;\n            }\n            if (typeof addressLine3 !== 'undefined') {\n                payload['addressLine3'] = addressLine3;\n            }\n            if (typeof companyName !== 'undefined') {\n                payload['companyName'] = companyName;\n            }\n            if (typeof periodYears !== 'undefined') {\n                payload['periodYears'] = periodYears;\n            }\n            if (typeof autoRenewal !== 'undefined') {\n                payload['autoRenewal'] = autoRenewal;\n            }\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePurchase(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    invoiceId: paramsOrFirst,\n                    organizationId: rest[0]\n                };\n            }\n            const invoiceId = params.invoiceId;\n            const organizationId = params.organizationId;\n            if (typeof invoiceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"invoiceId\"');\n            }\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/domains/purchases/{invoiceId}'.replace('{invoiceId}', invoiceId);\n            const payload = {};\n            if (typeof organizationId !== 'undefined') {\n                payload['organizationId'] = organizationId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listSuggestions(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    query: paramsOrFirst,\n                    tlds: rest[0],\n                    limit: rest[1],\n                    filterType: rest[2],\n                    priceMax: rest[3],\n                    priceMin: rest[4]\n                };\n            }\n            const query = params.query;\n            const tlds = params.tlds;\n            const limit = params.limit;\n            const filterType = params.filterType;\n            const priceMax = params.priceMax;\n            const priceMin = params.priceMin;\n            if (typeof query === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"query\"');\n            }\n            const apiPath = '/domains/suggestions';\n            const payload = {};\n            if (typeof query !== 'undefined') {\n                payload['query'] = query;\n            }\n            if (typeof tlds !== 'undefined') {\n                payload['tlds'] = tlds;\n            }\n            if (typeof limit !== 'undefined') {\n                payload['limit'] = limit;\n            }\n            if (typeof filterType !== 'undefined') {\n                payload['filterType'] = filterType;\n            }\n            if (typeof priceMax !== 'undefined') {\n                payload['priceMax'] = priceMax;\n            }\n            if (typeof priceMin !== 'undefined') {\n                payload['priceMin'] = priceMin;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTransferIn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst,\n                    organizationId: rest[0],\n                    authCode: rest[1],\n                    paymentMethodId: rest[2],\n                    autoRenewal: rest[3]\n                };\n            }\n            const domain = params.domain;\n            const organizationId = params.organizationId;\n            const authCode = params.authCode;\n            const paymentMethodId = params.paymentMethodId;\n            const autoRenewal = params.autoRenewal;\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof authCode === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"authCode\"');\n            }\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/domains/transfers/in';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof organizationId !== 'undefined') {\n                payload['organizationId'] = organizationId;\n            }\n            if (typeof authCode !== 'undefined') {\n                payload['authCode'] = authCode;\n            }\n            if (typeof autoRenewal !== 'undefined') {\n                payload['autoRenewal'] = autoRenewal;\n            }\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateTransferIn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    invoiceId: paramsOrFirst,\n                    organizationId: rest[0]\n                };\n            }\n            const invoiceId = params.invoiceId;\n            const organizationId = params.organizationId;\n            if (typeof invoiceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"invoiceId\"');\n            }\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/domains/transfers/in/{invoiceId}'.replace('{invoiceId}', invoiceId);\n            const payload = {};\n            if (typeof organizationId !== 'undefined') {\n                payload['organizationId'] = organizationId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createTransferOut(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    organizationId: rest[0]\n                };\n            }\n            const domainId = params.domainId;\n            const organizationId = params.organizationId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/domains/transfers/out';\n            const payload = {};\n            if (typeof domainId !== 'undefined') {\n                payload['domainId'] = domainId;\n            }\n            if (typeof organizationId !== 'undefined') {\n                payload['organizationId'] = organizationId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateAutoRenewal(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    autoRenewal: rest[0]\n                };\n            }\n            const domainId = params.domainId;\n            const autoRenewal = params.autoRenewal;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof autoRenewal === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"autoRenewal\"');\n            }\n            const apiPath = '/domains/{domainId}/auto-renewal'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof autoRenewal !== 'undefined') {\n                payload['autoRenewal'] = autoRenewal;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateNameservers(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/nameservers'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getPresetGoogleWorkspace(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/google-workspace'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPresetGoogleWorkspace(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/google-workspace'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPresetICloud(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/icloud'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPresetICloud(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/icloud'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPresetMailgun(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/mailgun'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPresetMailgun(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/mailgun'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPresetOutlook(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/outlook'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPresetOutlook(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/outlook'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPresetProtonMail(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/proton-mail'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPresetProtonMail(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/proton-mail'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getPresetZoho(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/zoho'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createPresetZoho(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/presets/zoho'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listRecords(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const domainId = params.domainId;\n            const queries = params.queries;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/records'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createRecordA(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/a'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordA(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/a/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordAAAA(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/aaaa'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordAAAA(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/aaaa/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordAlias(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/alias'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordAlias(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/alias/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordCAA(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/caa'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordCAA(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/caa/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordCNAME(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/cname'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordCNAME(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/cname/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordHTTPS(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/https'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordHTTPS(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/https/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordMX(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    priority: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const priority = params.priority;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            if (typeof priority === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"priority\"');\n            }\n            const apiPath = '/domains/{domainId}/records/mx'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof priority !== 'undefined') {\n                payload['priority'] = priority;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordMX(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    priority: rest[4],\n                    comment: rest[5]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const priority = params.priority;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            if (typeof priority === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"priority\"');\n            }\n            const apiPath = '/domains/{domainId}/records/mx/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof priority !== 'undefined') {\n                payload['priority'] = priority;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordNS(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/ns'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordNS(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/ns/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordSRV(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    value: rest[1],\n                    ttl: rest[2],\n                    priority: rest[3],\n                    weight: rest[4],\n                    port: rest[5],\n                    comment: rest[6]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const priority = params.priority;\n            const weight = params.weight;\n            const port = params.port;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            if (typeof priority === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"priority\"');\n            }\n            if (typeof weight === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"weight\"');\n            }\n            if (typeof port === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"port\"');\n            }\n            const apiPath = '/domains/{domainId}/records/srv'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof priority !== 'undefined') {\n                payload['priority'] = priority;\n            }\n            if (typeof weight !== 'undefined') {\n                payload['weight'] = weight;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordSRV(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    priority: rest[4],\n                    weight: rest[5],\n                    port: rest[6],\n                    comment: rest[7]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const priority = params.priority;\n            const weight = params.weight;\n            const port = params.port;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            if (typeof priority === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"priority\"');\n            }\n            if (typeof weight === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"weight\"');\n            }\n            if (typeof port === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"port\"');\n            }\n            const apiPath = '/domains/{domainId}/records/srv/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof priority !== 'undefined') {\n                payload['priority'] = priority;\n            }\n            if (typeof weight !== 'undefined') {\n                payload['weight'] = weight;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createRecordTXT(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    name: rest[0],\n                    ttl: rest[1],\n                    value: rest[2],\n                    comment: rest[3]\n                };\n            }\n            const domainId = params.domainId;\n            const name = params.name;\n            const ttl = params.ttl;\n            const value = params.value;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/txt'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateRecordTXT(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0],\n                    name: rest[1],\n                    value: rest[2],\n                    ttl: rest[3],\n                    comment: rest[4]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            const name = params.name;\n            const value = params.value;\n            const ttl = params.ttl;\n            const comment = params.comment;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            if (typeof ttl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ttl\"');\n            }\n            const apiPath = '/domains/{domainId}/records/txt/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            if (typeof comment !== 'undefined') {\n                payload['comment'] = comment;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        getRecord(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            const apiPath = '/domains/{domainId}/records/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteRecord(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    recordId: rest[0]\n                };\n            }\n            const domainId = params.domainId;\n            const recordId = params.recordId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof recordId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"recordId\"');\n            }\n            const apiPath = '/domains/{domainId}/records/{recordId}'.replace('{domainId}', domainId).replace('{recordId}', recordId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateTeam(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    teamId: rest[0]\n                };\n            }\n            const domainId = params.domainId;\n            const teamId = params.teamId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/domains/{domainId}/team'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getTransferStatus(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/transfers/status'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getZone(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst\n                };\n            }\n            const domainId = params.domainId;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            const apiPath = '/domains/{domainId}/zone'.replace('{domainId}', domainId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'text/plain',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateZone(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domainId: paramsOrFirst,\n                    content: rest[0]\n                };\n            }\n            const domainId = params.domainId;\n            const content = params.content;\n            if (typeof domainId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domainId\"');\n            }\n            if (typeof content === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"content\"');\n            }\n            const apiPath = '/domains/{domainId}/zone'.replace('{domainId}', domainId);\n            const payload = {};\n            if (typeof content !== 'undefined') {\n                payload['content'] = content;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n    }\n\n    class Functions {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/functions';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    name: rest[0],\n                    runtime: rest[1],\n                    execute: rest[2],\n                    events: rest[3],\n                    schedule: rest[4],\n                    timeout: rest[5],\n                    enabled: rest[6],\n                    logging: rest[7],\n                    entrypoint: rest[8],\n                    commands: rest[9],\n                    scopes: rest[10],\n                    installationId: rest[11],\n                    providerRepositoryId: rest[12],\n                    providerBranch: rest[13],\n                    providerSilentMode: rest[14],\n                    providerRootDirectory: rest[15],\n                    providerBranches: rest[16],\n                    providerPaths: rest[17],\n                    buildSpecification: rest[18],\n                    runtimeSpecification: rest[19],\n                    deploymentRetention: rest[20]\n                };\n            }\n            const functionId = params.functionId;\n            const name = params.name;\n            const runtime = params.runtime;\n            const execute = params.execute;\n            const events = params.events;\n            const schedule = params.schedule;\n            const timeout = params.timeout;\n            const enabled = params.enabled;\n            const logging = params.logging;\n            const entrypoint = params.entrypoint;\n            const commands = params.commands;\n            const scopes = params.scopes;\n            const installationId = params.installationId;\n            const providerRepositoryId = params.providerRepositoryId;\n            const providerBranch = params.providerBranch;\n            const providerSilentMode = params.providerSilentMode;\n            const providerRootDirectory = params.providerRootDirectory;\n            const providerBranches = params.providerBranches;\n            const providerPaths = params.providerPaths;\n            const buildSpecification = params.buildSpecification;\n            const runtimeSpecification = params.runtimeSpecification;\n            const deploymentRetention = params.deploymentRetention;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof runtime === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"runtime\"');\n            }\n            const apiPath = '/functions';\n            const payload = {};\n            if (typeof functionId !== 'undefined') {\n                payload['functionId'] = functionId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof runtime !== 'undefined') {\n                payload['runtime'] = runtime;\n            }\n            if (typeof execute !== 'undefined') {\n                payload['execute'] = execute;\n            }\n            if (typeof events !== 'undefined') {\n                payload['events'] = events;\n            }\n            if (typeof schedule !== 'undefined') {\n                payload['schedule'] = schedule;\n            }\n            if (typeof timeout !== 'undefined') {\n                payload['timeout'] = timeout;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof logging !== 'undefined') {\n                payload['logging'] = logging;\n            }\n            if (typeof entrypoint !== 'undefined') {\n                payload['entrypoint'] = entrypoint;\n            }\n            if (typeof commands !== 'undefined') {\n                payload['commands'] = commands;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof installationId !== 'undefined') {\n                payload['installationId'] = installationId;\n            }\n            if (typeof providerRepositoryId !== 'undefined') {\n                payload['providerRepositoryId'] = providerRepositoryId;\n            }\n            if (typeof providerBranch !== 'undefined') {\n                payload['providerBranch'] = providerBranch;\n            }\n            if (typeof providerSilentMode !== 'undefined') {\n                payload['providerSilentMode'] = providerSilentMode;\n            }\n            if (typeof providerRootDirectory !== 'undefined') {\n                payload['providerRootDirectory'] = providerRootDirectory;\n            }\n            if (typeof providerBranches !== 'undefined') {\n                payload['providerBranches'] = providerBranches;\n            }\n            if (typeof providerPaths !== 'undefined') {\n                payload['providerPaths'] = providerPaths;\n            }\n            if (typeof buildSpecification !== 'undefined') {\n                payload['buildSpecification'] = buildSpecification;\n            }\n            if (typeof runtimeSpecification !== 'undefined') {\n                payload['runtimeSpecification'] = runtimeSpecification;\n            }\n            if (typeof deploymentRetention !== 'undefined') {\n                payload['deploymentRetention'] = deploymentRetention;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        /**\n         * Get a list of all runtimes that are currently active on your instance.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.RuntimeList>}\n         */\n        listRuntimes() {\n            const apiPath = '/functions/runtimes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List allowed function specifications for this instance.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.SpecificationList>}\n         */\n        listSpecifications() {\n            const apiPath = '/functions/specifications';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listTemplates(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('runtimes' in paramsOrFirst || 'useCases' in paramsOrFirst || 'limit' in paramsOrFirst || 'offset' in paramsOrFirst || 'total' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    runtimes: paramsOrFirst,\n                    useCases: rest[0],\n                    limit: rest[1],\n                    offset: rest[2],\n                    total: rest[3]\n                };\n            }\n            const runtimes = params.runtimes;\n            const useCases = params.useCases;\n            const limit = params.limit;\n            const offset = params.offset;\n            const total = params.total;\n            const apiPath = '/functions/templates';\n            const payload = {};\n            if (typeof runtimes !== 'undefined') {\n                payload['runtimes'] = runtimes;\n            }\n            if (typeof useCases !== 'undefined') {\n                payload['useCases'] = useCases;\n            }\n            if (typeof limit !== 'undefined') {\n                payload['limit'] = limit;\n            }\n            if (typeof offset !== 'undefined') {\n                payload['offset'] = offset;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getTemplate(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    templateId: paramsOrFirst\n                };\n            }\n            const templateId = params.templateId;\n            if (typeof templateId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"templateId\"');\n            }\n            const apiPath = '/functions/templates/{templateId}'.replace('{templateId}', templateId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/functions/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst\n                };\n            }\n            const functionId = params.functionId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/functions/{functionId}'.replace('{functionId}', functionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    name: rest[0],\n                    runtime: rest[1],\n                    execute: rest[2],\n                    events: rest[3],\n                    schedule: rest[4],\n                    timeout: rest[5],\n                    enabled: rest[6],\n                    logging: rest[7],\n                    entrypoint: rest[8],\n                    commands: rest[9],\n                    scopes: rest[10],\n                    installationId: rest[11],\n                    providerRepositoryId: rest[12],\n                    providerBranch: rest[13],\n                    providerSilentMode: rest[14],\n                    providerRootDirectory: rest[15],\n                    providerBranches: rest[16],\n                    providerPaths: rest[17],\n                    buildSpecification: rest[18],\n                    runtimeSpecification: rest[19],\n                    deploymentRetention: rest[20]\n                };\n            }\n            const functionId = params.functionId;\n            const name = params.name;\n            const runtime = params.runtime;\n            const execute = params.execute;\n            const events = params.events;\n            const schedule = params.schedule;\n            const timeout = params.timeout;\n            const enabled = params.enabled;\n            const logging = params.logging;\n            const entrypoint = params.entrypoint;\n            const commands = params.commands;\n            const scopes = params.scopes;\n            const installationId = params.installationId;\n            const providerRepositoryId = params.providerRepositoryId;\n            const providerBranch = params.providerBranch;\n            const providerSilentMode = params.providerSilentMode;\n            const providerRootDirectory = params.providerRootDirectory;\n            const providerBranches = params.providerBranches;\n            const providerPaths = params.providerPaths;\n            const buildSpecification = params.buildSpecification;\n            const runtimeSpecification = params.runtimeSpecification;\n            const deploymentRetention = params.deploymentRetention;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/functions/{functionId}'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof runtime !== 'undefined') {\n                payload['runtime'] = runtime;\n            }\n            if (typeof execute !== 'undefined') {\n                payload['execute'] = execute;\n            }\n            if (typeof events !== 'undefined') {\n                payload['events'] = events;\n            }\n            if (typeof schedule !== 'undefined') {\n                payload['schedule'] = schedule;\n            }\n            if (typeof timeout !== 'undefined') {\n                payload['timeout'] = timeout;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof logging !== 'undefined') {\n                payload['logging'] = logging;\n            }\n            if (typeof entrypoint !== 'undefined') {\n                payload['entrypoint'] = entrypoint;\n            }\n            if (typeof commands !== 'undefined') {\n                payload['commands'] = commands;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof installationId !== 'undefined') {\n                payload['installationId'] = installationId;\n            }\n            if (typeof providerRepositoryId !== 'undefined') {\n                payload['providerRepositoryId'] = providerRepositoryId;\n            }\n            if (typeof providerBranch !== 'undefined') {\n                payload['providerBranch'] = providerBranch;\n            }\n            if (typeof providerSilentMode !== 'undefined') {\n                payload['providerSilentMode'] = providerSilentMode;\n            }\n            if (typeof providerRootDirectory !== 'undefined') {\n                payload['providerRootDirectory'] = providerRootDirectory;\n            }\n            if (typeof providerBranches !== 'undefined') {\n                payload['providerBranches'] = providerBranches;\n            }\n            if (typeof providerPaths !== 'undefined') {\n                payload['providerPaths'] = providerPaths;\n            }\n            if (typeof buildSpecification !== 'undefined') {\n                payload['buildSpecification'] = buildSpecification;\n            }\n            if (typeof runtimeSpecification !== 'undefined') {\n                payload['runtimeSpecification'] = runtimeSpecification;\n            }\n            if (typeof deploymentRetention !== 'undefined') {\n                payload['deploymentRetention'] = deploymentRetention;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst\n                };\n            }\n            const functionId = params.functionId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/functions/{functionId}'.replace('{functionId}', functionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateFunctionDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const deploymentId = params.deploymentId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/functions/{functionId}/deployment'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof deploymentId !== 'undefined') {\n                payload['deploymentId'] = deploymentId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listDeployments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const functionId = params.functionId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDeployment(paramsOrFirst, ...rest) {\n            let params;\n            let onProgress;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n                onProgress = paramsOrFirst === null || paramsOrFirst === void 0 ? void 0 : paramsOrFirst.onProgress;\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    code: rest[0],\n                    activate: rest[1],\n                    entrypoint: rest[2],\n                    commands: rest[3]\n                };\n                onProgress = rest[4];\n            }\n            const functionId = params.functionId;\n            const code = params.code;\n            const activate = params.activate;\n            const entrypoint = params.entrypoint;\n            const commands = params.commands;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof code === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"code\"');\n            }\n            if (typeof activate === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"activate\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof entrypoint !== 'undefined') {\n                payload['entrypoint'] = entrypoint;\n            }\n            if (typeof commands !== 'undefined') {\n                payload['commands'] = commands;\n            }\n            if (typeof code !== 'undefined') {\n                payload['code'] = code;\n            }\n            if (typeof activate !== 'undefined') {\n                payload['activate'] = activate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'multipart/form-data',\n                'accept': 'application/json',\n            };\n            return this.client.chunkedUpload('post', uri, apiHeaders, payload, onProgress);\n        }\n        createDuplicateDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    deploymentId: rest[0],\n                    buildId: rest[1]\n                };\n            }\n            const functionId = params.functionId;\n            const deploymentId = params.deploymentId;\n            const buildId = params.buildId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments/duplicate'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof deploymentId !== 'undefined') {\n                payload['deploymentId'] = deploymentId;\n            }\n            if (typeof buildId !== 'undefined') {\n                payload['buildId'] = buildId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createTemplateDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    repository: rest[0],\n                    owner: rest[1],\n                    rootDirectory: rest[2],\n                    type: rest[3],\n                    reference: rest[4],\n                    activate: rest[5]\n                };\n            }\n            const functionId = params.functionId;\n            const repository = params.repository;\n            const owner = params.owner;\n            const rootDirectory = params.rootDirectory;\n            const type = params.type;\n            const reference = params.reference;\n            const activate = params.activate;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof repository === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"repository\"');\n            }\n            if (typeof owner === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"owner\"');\n            }\n            if (typeof rootDirectory === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rootDirectory\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof reference === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reference\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments/template'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof repository !== 'undefined') {\n                payload['repository'] = repository;\n            }\n            if (typeof owner !== 'undefined') {\n                payload['owner'] = owner;\n            }\n            if (typeof rootDirectory !== 'undefined') {\n                payload['rootDirectory'] = rootDirectory;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof reference !== 'undefined') {\n                payload['reference'] = reference;\n            }\n            if (typeof activate !== 'undefined') {\n                payload['activate'] = activate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createVcsDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    type: rest[0],\n                    reference: rest[1],\n                    activate: rest[2]\n                };\n            }\n            const functionId = params.functionId;\n            const type = params.type;\n            const reference = params.reference;\n            const activate = params.activate;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof reference === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reference\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments/vcs'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof reference !== 'undefined') {\n                payload['reference'] = reference;\n            }\n            if (typeof activate !== 'undefined') {\n                payload['activate'] = activate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const deploymentId = params.deploymentId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments/{deploymentId}'.replace('{functionId}', functionId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const deploymentId = params.deploymentId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments/{deploymentId}'.replace('{functionId}', functionId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getDeploymentDownload(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    deploymentId: rest[0],\n                    type: rest[1]\n                };\n            }\n            const functionId = params.functionId;\n            const deploymentId = params.deploymentId;\n            const type = params.type;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments/{deploymentId}/download'.replace('{functionId}', functionId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        updateDeploymentStatus(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const deploymentId = params.deploymentId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/functions/{functionId}/deployments/{deploymentId}/status'.replace('{functionId}', functionId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listExecutions(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const functionId = params.functionId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/functions/{functionId}/executions'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createExecution(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    body: rest[0],\n                    async: rest[1],\n                    xpath: rest[2],\n                    method: rest[3],\n                    headers: rest[4],\n                    scheduledAt: rest[5]\n                };\n            }\n            const functionId = params.functionId;\n            const body = params.body;\n            const async = params.async;\n            const xpath = params.xpath;\n            const method = params.method;\n            const headers = params.headers;\n            const scheduledAt = params.scheduledAt;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/functions/{functionId}/executions'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof body !== 'undefined') {\n                payload['body'] = body;\n            }\n            if (typeof async !== 'undefined') {\n                payload['async'] = async;\n            }\n            if (typeof xpath !== 'undefined') {\n                payload['path'] = xpath;\n            }\n            if (typeof method !== 'undefined') {\n                payload['method'] = method;\n            }\n            if (typeof headers !== 'undefined') {\n                payload['headers'] = headers;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getExecution(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    executionId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const executionId = params.executionId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof executionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"executionId\"');\n            }\n            const apiPath = '/functions/{functionId}/executions/{executionId}'.replace('{functionId}', functionId).replace('{executionId}', executionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteExecution(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    executionId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const executionId = params.executionId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof executionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"executionId\"');\n            }\n            const apiPath = '/functions/{functionId}/executions/{executionId}'.replace('{functionId}', functionId).replace('{executionId}', executionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    range: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const range = params.range;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/functions/{functionId}/usage'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listVariables(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const functionId = params.functionId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/functions/{functionId}/variables'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    variableId: rest[0],\n                    key: rest[1],\n                    value: rest[2],\n                    secret: rest[3]\n                };\n            }\n            const functionId = params.functionId;\n            const variableId = params.variableId;\n            const key = params.key;\n            const value = params.value;\n            const secret = params.secret;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            const apiPath = '/functions/{functionId}/variables'.replace('{functionId}', functionId);\n            const payload = {};\n            if (typeof variableId !== 'undefined') {\n                payload['variableId'] = variableId;\n            }\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    variableId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const variableId = params.variableId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/functions/{functionId}/variables/{variableId}'.replace('{functionId}', functionId).replace('{variableId}', variableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    variableId: rest[0],\n                    key: rest[1],\n                    value: rest[2],\n                    secret: rest[3]\n                };\n            }\n            const functionId = params.functionId;\n            const variableId = params.variableId;\n            const key = params.key;\n            const value = params.value;\n            const secret = params.secret;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/functions/{functionId}/variables/{variableId}'.replace('{functionId}', functionId).replace('{variableId}', variableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    functionId: paramsOrFirst,\n                    variableId: rest[0]\n                };\n            }\n            const functionId = params.functionId;\n            const variableId = params.variableId;\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/functions/{functionId}/variables/{variableId}'.replace('{functionId}', functionId).replace('{variableId}', variableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Graphql {\n        constructor(client) {\n            this.client = client;\n        }\n        query(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('query' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    query: paramsOrFirst\n                };\n            }\n            const query = params.query;\n            if (typeof query === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"query\"');\n            }\n            const apiPath = '/graphql';\n            const payload = {};\n            if (typeof query !== 'undefined') {\n                payload['query'] = query;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'x-sdk-graphql': 'true',\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        mutation(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('query' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    query: paramsOrFirst\n                };\n            }\n            const query = params.query;\n            if (typeof query === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"query\"');\n            }\n            const apiPath = '/graphql/mutation';\n            const payload = {};\n            if (typeof query !== 'undefined') {\n                payload['query'] = query;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'x-sdk-graphql': 'true',\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n    }\n\n    class Health {\n        constructor(client) {\n            this.client = client;\n        }\n        /**\n         * Check the Appwrite HTTP server is up and responsive.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthStatus>}\n         */\n        get() {\n            const apiPath = '/health';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the Appwrite Antivirus server is up and connection is successful.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthAntivirus>}\n         */\n        getAntivirus() {\n            const apiPath = '/health/anti-virus';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the database that backs the audit and activity store. When the connection is reachable the endpoint returns a passing status with its response time.\n         *\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthStatusList>}\n         */\n        getAuditsDB() {\n            const apiPath = '/health/audits-db';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the Appwrite in-memory cache servers are up and connection is successful.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthStatusList>}\n         */\n        getCache() {\n            const apiPath = '/health/cache';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getCertificate(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst\n                };\n            }\n            const domain = params.domain;\n            const apiPath = '/health/certificate';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getConsolePausing(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst,\n                    inactivityDays: rest[0]\n                };\n            }\n            const threshold = params.threshold;\n            const inactivityDays = params.inactivityDays;\n            const apiPath = '/health/console-pausing';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            if (typeof inactivityDays !== 'undefined') {\n                payload['inactivityDays'] = inactivityDays;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the Appwrite database servers are up and connection is successful.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthStatusList>}\n         */\n        getDB() {\n            const apiPath = '/health/db';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the Appwrite pub-sub servers are up and connection is successful.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthStatusList>}\n         */\n        getPubSub() {\n            const apiPath = '/health/pubsub';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueAudits(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/audits';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueBillingProjectAggregation(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/billing-project-aggregation';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueBillingTeamAggregation(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/billing-team-aggregation';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueBuilds(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/builds';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueuePriorityBuilds(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/builds-priority';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueCertificates(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/certificates';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueDatabases(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    name: paramsOrFirst,\n                    threshold: rest[0]\n                };\n            }\n            const name = params.name;\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/databases';\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueDeletes(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/deletes';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getFailedJobs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('name' in paramsOrFirst || 'threshold' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    name: paramsOrFirst,\n                    threshold: rest[0]\n                };\n            }\n            const name = params.name;\n            const threshold = params.threshold;\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/health/queue/failed/{name}'.replace('{name}', name);\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueFunctions(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/functions';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueLogs(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/logs';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueMails(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/mails';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueMessaging(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/messaging';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueMigrations(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/migrations';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueRegionManager(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/region-manager';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueStatsResources(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/stats-resources';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/stats-usage';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueThreats(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/threats';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getQueueWebhooks(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    threshold: paramsOrFirst\n                };\n            }\n            const threshold = params.threshold;\n            const apiPath = '/health/queue/webhooks';\n            const payload = {};\n            if (typeof threshold !== 'undefined') {\n                payload['threshold'] = threshold;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the Appwrite storage device is up and connection is successful.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthStatus>}\n         */\n        getStorage() {\n            const apiPath = '/health/storage';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the Appwrite local storage device is up and connection is successful.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthStatus>}\n         */\n        getStorageLocal() {\n            const apiPath = '/health/storage/local';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The [Network Time Protocol](https://en.wikipedia.org/wiki/Network_Time_Protocol) (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.HealthTime>}\n         */\n        getTime() {\n            const apiPath = '/health/time';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Locale {\n        constructor(client) {\n            this.client = client;\n        }\n        /**\n         * Get the current user location based on IP. Returns an object with user country code, country name, continent name, continent code, ip address and suggested currency. You can use the locale header to get the data in a supported language.\n         *\n         * ([IP Geolocation by DB-IP](https://db-ip.com))\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.Locale>}\n         */\n        get() {\n            const apiPath = '/locale';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List of all locale codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.LocaleCodeList>}\n         */\n        listCodes() {\n            const apiPath = '/locale/codes';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List of all continents. You can use the locale header to get the data in a supported language.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.ContinentList>}\n         */\n        listContinents() {\n            const apiPath = '/locale/continents';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List of all countries. You can use the locale header to get the data in a supported language.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.CountryList>}\n         */\n        listCountries() {\n            const apiPath = '/locale/countries';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.CountryList>}\n         */\n        listCountriesEU() {\n            const apiPath = '/locale/countries/eu';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List of all countries phone codes. You can use the locale header to get the data in a supported language.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.PhoneList>}\n         */\n        listCountriesPhones() {\n            const apiPath = '/locale/countries/phones';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.CurrencyList>}\n         */\n        listCurrencies() {\n            const apiPath = '/locale/currencies';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.LanguageList>}\n         */\n        listLanguages() {\n            const apiPath = '/locale/languages';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Manager {\n        constructor(client) {\n            this.client = client;\n        }\n        createBlock(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    resourceType: rest[0],\n                    resourceId: rest[1],\n                    reason: rest[2],\n                    expiredAt: rest[3]\n                };\n            }\n            const projectId = params.projectId;\n            const resourceType = params.resourceType;\n            const resourceId = params.resourceId;\n            const reason = params.reason;\n            const expiredAt = params.expiredAt;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof resourceType === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceType\"');\n            }\n            const apiPath = '/manager/blocks';\n            const payload = {};\n            if (typeof projectId !== 'undefined') {\n                payload['projectId'] = projectId;\n            }\n            if (typeof resourceType !== 'undefined') {\n                payload['resourceType'] = resourceType;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof reason !== 'undefined') {\n                payload['reason'] = reason;\n            }\n            if (typeof expiredAt !== 'undefined') {\n                payload['expiredAt'] = expiredAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        deleteBlock(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    resourceType: rest[0],\n                    resourceId: rest[1]\n                };\n            }\n            const projectId = params.projectId;\n            const resourceType = params.resourceType;\n            const resourceId = params.resourceId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof resourceType === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceType\"');\n            }\n            const apiPath = '/manager/blocks';\n            const payload = {};\n            if (typeof projectId !== 'undefined') {\n                payload['projectId'] = projectId;\n            }\n            if (typeof resourceType !== 'undefined') {\n                payload['resourceType'] = resourceType;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listBlocks(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst\n                };\n            }\n            const projectId = params.projectId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            const apiPath = '/manager/blocks/{projectId}'.replace('{projectId}', projectId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteCache(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('region' in paramsOrFirst || 'cache' in paramsOrFirst || 'all' in paramsOrFirst || 'database' in paramsOrFirst || 'projectId' in paramsOrFirst || 'collectionId' in paramsOrFirst || 'documentId' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    region: paramsOrFirst,\n                    cache: rest[0],\n                    all: rest[1],\n                    database: rest[2],\n                    projectId: rest[3],\n                    collectionId: rest[4],\n                    documentId: rest[5]\n                };\n            }\n            const region = params.region;\n            const cache = params.cache;\n            const all = params.all;\n            const database = params.database;\n            const projectId = params.projectId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const apiPath = '/manager/cache';\n            const payload = {};\n            if (typeof region !== 'undefined') {\n                payload['region'] = region;\n            }\n            if (typeof cache !== 'undefined') {\n                payload['cache'] = cache;\n            }\n            if (typeof all !== 'undefined') {\n                payload['all'] = all;\n            }\n            if (typeof database !== 'undefined') {\n                payload['database'] = database;\n            }\n            if (typeof projectId !== 'undefined') {\n                payload['projectId'] = projectId;\n            }\n            if (typeof collectionId !== 'undefined') {\n                payload['collectionId'] = collectionId;\n            }\n            if (typeof documentId !== 'undefined') {\n                payload['documentId'] = documentId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateUserStatus(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    status: paramsOrFirst,\n                    userId: rest[0],\n                    email: rest[1],\n                    reason: rest[2]\n                };\n            }\n            const status = params.status;\n            const userId = params.userId;\n            const email = params.email;\n            const reason = params.reason;\n            if (typeof status === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"status\"');\n            }\n            const apiPath = '/manager/users/status';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof status !== 'undefined') {\n                payload['status'] = status;\n            }\n            if (typeof reason !== 'undefined') {\n                payload['reason'] = reason;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n    }\n\n    class Messaging {\n        constructor(client) {\n            this.client = client;\n        }\n        listMessages(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/messaging/messages';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createEmail(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    subject: rest[0],\n                    content: rest[1],\n                    topics: rest[2],\n                    users: rest[3],\n                    targets: rest[4],\n                    cc: rest[5],\n                    bcc: rest[6],\n                    attachments: rest[7],\n                    draft: rest[8],\n                    html: rest[9],\n                    scheduledAt: rest[10]\n                };\n            }\n            const messageId = params.messageId;\n            const subject = params.subject;\n            const content = params.content;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const cc = params.cc;\n            const bcc = params.bcc;\n            const attachments = params.attachments;\n            const draft = params.draft;\n            const html = params.html;\n            const scheduledAt = params.scheduledAt;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            if (typeof subject === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"subject\"');\n            }\n            if (typeof content === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"content\"');\n            }\n            const apiPath = '/messaging/messages/email';\n            const payload = {};\n            if (typeof messageId !== 'undefined') {\n                payload['messageId'] = messageId;\n            }\n            if (typeof subject !== 'undefined') {\n                payload['subject'] = subject;\n            }\n            if (typeof content !== 'undefined') {\n                payload['content'] = content;\n            }\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof cc !== 'undefined') {\n                payload['cc'] = cc;\n            }\n            if (typeof bcc !== 'undefined') {\n                payload['bcc'] = bcc;\n            }\n            if (typeof attachments !== 'undefined') {\n                payload['attachments'] = attachments;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof html !== 'undefined') {\n                payload['html'] = html;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateEmail(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    topics: rest[0],\n                    users: rest[1],\n                    targets: rest[2],\n                    subject: rest[3],\n                    content: rest[4],\n                    draft: rest[5],\n                    html: rest[6],\n                    cc: rest[7],\n                    bcc: rest[8],\n                    scheduledAt: rest[9],\n                    attachments: rest[10]\n                };\n            }\n            const messageId = params.messageId;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const subject = params.subject;\n            const content = params.content;\n            const draft = params.draft;\n            const html = params.html;\n            const cc = params.cc;\n            const bcc = params.bcc;\n            const scheduledAt = params.scheduledAt;\n            const attachments = params.attachments;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/email/{messageId}'.replace('{messageId}', messageId);\n            const payload = {};\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof subject !== 'undefined') {\n                payload['subject'] = subject;\n            }\n            if (typeof content !== 'undefined') {\n                payload['content'] = content;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof html !== 'undefined') {\n                payload['html'] = html;\n            }\n            if (typeof cc !== 'undefined') {\n                payload['cc'] = cc;\n            }\n            if (typeof bcc !== 'undefined') {\n                payload['bcc'] = bcc;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            if (typeof attachments !== 'undefined') {\n                payload['attachments'] = attachments;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createPush(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    title: rest[0],\n                    body: rest[1],\n                    topics: rest[2],\n                    users: rest[3],\n                    targets: rest[4],\n                    data: rest[5],\n                    action: rest[6],\n                    image: rest[7],\n                    icon: rest[8],\n                    sound: rest[9],\n                    color: rest[10],\n                    tag: rest[11],\n                    badge: rest[12],\n                    draft: rest[13],\n                    scheduledAt: rest[14],\n                    contentAvailable: rest[15],\n                    critical: rest[16],\n                    priority: rest[17]\n                };\n            }\n            const messageId = params.messageId;\n            const title = params.title;\n            const body = params.body;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const data = params.data;\n            const action = params.action;\n            const image = params.image;\n            const icon = params.icon;\n            const sound = params.sound;\n            const color = params.color;\n            const tag = params.tag;\n            const badge = params.badge;\n            const draft = params.draft;\n            const scheduledAt = params.scheduledAt;\n            const contentAvailable = params.contentAvailable;\n            const critical = params.critical;\n            const priority = params.priority;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/push';\n            const payload = {};\n            if (typeof messageId !== 'undefined') {\n                payload['messageId'] = messageId;\n            }\n            if (typeof title !== 'undefined') {\n                payload['title'] = title;\n            }\n            if (typeof body !== 'undefined') {\n                payload['body'] = body;\n            }\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof action !== 'undefined') {\n                payload['action'] = action;\n            }\n            if (typeof image !== 'undefined') {\n                payload['image'] = image;\n            }\n            if (typeof icon !== 'undefined') {\n                payload['icon'] = icon;\n            }\n            if (typeof sound !== 'undefined') {\n                payload['sound'] = sound;\n            }\n            if (typeof color !== 'undefined') {\n                payload['color'] = color;\n            }\n            if (typeof tag !== 'undefined') {\n                payload['tag'] = tag;\n            }\n            if (typeof badge !== 'undefined') {\n                payload['badge'] = badge;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            if (typeof contentAvailable !== 'undefined') {\n                payload['contentAvailable'] = contentAvailable;\n            }\n            if (typeof critical !== 'undefined') {\n                payload['critical'] = critical;\n            }\n            if (typeof priority !== 'undefined') {\n                payload['priority'] = priority;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePush(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    topics: rest[0],\n                    users: rest[1],\n                    targets: rest[2],\n                    title: rest[3],\n                    body: rest[4],\n                    data: rest[5],\n                    action: rest[6],\n                    image: rest[7],\n                    icon: rest[8],\n                    sound: rest[9],\n                    color: rest[10],\n                    tag: rest[11],\n                    badge: rest[12],\n                    draft: rest[13],\n                    scheduledAt: rest[14],\n                    contentAvailable: rest[15],\n                    critical: rest[16],\n                    priority: rest[17]\n                };\n            }\n            const messageId = params.messageId;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const title = params.title;\n            const body = params.body;\n            const data = params.data;\n            const action = params.action;\n            const image = params.image;\n            const icon = params.icon;\n            const sound = params.sound;\n            const color = params.color;\n            const tag = params.tag;\n            const badge = params.badge;\n            const draft = params.draft;\n            const scheduledAt = params.scheduledAt;\n            const contentAvailable = params.contentAvailable;\n            const critical = params.critical;\n            const priority = params.priority;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/push/{messageId}'.replace('{messageId}', messageId);\n            const payload = {};\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof title !== 'undefined') {\n                payload['title'] = title;\n            }\n            if (typeof body !== 'undefined') {\n                payload['body'] = body;\n            }\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof action !== 'undefined') {\n                payload['action'] = action;\n            }\n            if (typeof image !== 'undefined') {\n                payload['image'] = image;\n            }\n            if (typeof icon !== 'undefined') {\n                payload['icon'] = icon;\n            }\n            if (typeof sound !== 'undefined') {\n                payload['sound'] = sound;\n            }\n            if (typeof color !== 'undefined') {\n                payload['color'] = color;\n            }\n            if (typeof tag !== 'undefined') {\n                payload['tag'] = tag;\n            }\n            if (typeof badge !== 'undefined') {\n                payload['badge'] = badge;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            if (typeof contentAvailable !== 'undefined') {\n                payload['contentAvailable'] = contentAvailable;\n            }\n            if (typeof critical !== 'undefined') {\n                payload['critical'] = critical;\n            }\n            if (typeof priority !== 'undefined') {\n                payload['priority'] = priority;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createSms(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    content: rest[0],\n                    topics: rest[1],\n                    users: rest[2],\n                    targets: rest[3],\n                    draft: rest[4],\n                    scheduledAt: rest[5]\n                };\n            }\n            const messageId = params.messageId;\n            const content = params.content;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const draft = params.draft;\n            const scheduledAt = params.scheduledAt;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            if (typeof content === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"content\"');\n            }\n            const apiPath = '/messaging/messages/sms';\n            const payload = {};\n            if (typeof messageId !== 'undefined') {\n                payload['messageId'] = messageId;\n            }\n            if (typeof content !== 'undefined') {\n                payload['content'] = content;\n            }\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createSMS(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    content: rest[0],\n                    topics: rest[1],\n                    users: rest[2],\n                    targets: rest[3],\n                    draft: rest[4],\n                    scheduledAt: rest[5]\n                };\n            }\n            const messageId = params.messageId;\n            const content = params.content;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const draft = params.draft;\n            const scheduledAt = params.scheduledAt;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            if (typeof content === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"content\"');\n            }\n            const apiPath = '/messaging/messages/sms';\n            const payload = {};\n            if (typeof messageId !== 'undefined') {\n                payload['messageId'] = messageId;\n            }\n            if (typeof content !== 'undefined') {\n                payload['content'] = content;\n            }\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateSms(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    topics: rest[0],\n                    users: rest[1],\n                    targets: rest[2],\n                    content: rest[3],\n                    draft: rest[4],\n                    scheduledAt: rest[5]\n                };\n            }\n            const messageId = params.messageId;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const content = params.content;\n            const draft = params.draft;\n            const scheduledAt = params.scheduledAt;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/sms/{messageId}'.replace('{messageId}', messageId);\n            const payload = {};\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof content !== 'undefined') {\n                payload['content'] = content;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateSMS(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    topics: rest[0],\n                    users: rest[1],\n                    targets: rest[2],\n                    content: rest[3],\n                    draft: rest[4],\n                    scheduledAt: rest[5]\n                };\n            }\n            const messageId = params.messageId;\n            const topics = params.topics;\n            const users = params.users;\n            const targets = params.targets;\n            const content = params.content;\n            const draft = params.draft;\n            const scheduledAt = params.scheduledAt;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/sms/{messageId}'.replace('{messageId}', messageId);\n            const payload = {};\n            if (typeof topics !== 'undefined') {\n                payload['topics'] = topics;\n            }\n            if (typeof users !== 'undefined') {\n                payload['users'] = users;\n            }\n            if (typeof targets !== 'undefined') {\n                payload['targets'] = targets;\n            }\n            if (typeof content !== 'undefined') {\n                payload['content'] = content;\n            }\n            if (typeof draft !== 'undefined') {\n                payload['draft'] = draft;\n            }\n            if (typeof scheduledAt !== 'undefined') {\n                payload['scheduledAt'] = scheduledAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getMessage(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst\n                };\n            }\n            const messageId = params.messageId;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/{messageId}'.replace('{messageId}', messageId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst\n                };\n            }\n            const messageId = params.messageId;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/{messageId}'.replace('{messageId}', messageId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listMessageLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const messageId = params.messageId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/{messageId}/logs'.replace('{messageId}', messageId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listTargets(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    messageId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const messageId = params.messageId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof messageId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"messageId\"');\n            }\n            const apiPath = '/messaging/messages/{messageId}/targets'.replace('{messageId}', messageId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listProviders(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/messaging/providers';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createApnsProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    authKey: rest[1],\n                    authKeyId: rest[2],\n                    teamId: rest[3],\n                    bundleId: rest[4],\n                    sandbox: rest[5],\n                    enabled: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const authKey = params.authKey;\n            const authKeyId = params.authKeyId;\n            const teamId = params.teamId;\n            const bundleId = params.bundleId;\n            const sandbox = params.sandbox;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/apns';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof authKey !== 'undefined') {\n                payload['authKey'] = authKey;\n            }\n            if (typeof authKeyId !== 'undefined') {\n                payload['authKeyId'] = authKeyId;\n            }\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            if (typeof bundleId !== 'undefined') {\n                payload['bundleId'] = bundleId;\n            }\n            if (typeof sandbox !== 'undefined') {\n                payload['sandbox'] = sandbox;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createAPNSProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    authKey: rest[1],\n                    authKeyId: rest[2],\n                    teamId: rest[3],\n                    bundleId: rest[4],\n                    sandbox: rest[5],\n                    enabled: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const authKey = params.authKey;\n            const authKeyId = params.authKeyId;\n            const teamId = params.teamId;\n            const bundleId = params.bundleId;\n            const sandbox = params.sandbox;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/apns';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof authKey !== 'undefined') {\n                payload['authKey'] = authKey;\n            }\n            if (typeof authKeyId !== 'undefined') {\n                payload['authKeyId'] = authKeyId;\n            }\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            if (typeof bundleId !== 'undefined') {\n                payload['bundleId'] = bundleId;\n            }\n            if (typeof sandbox !== 'undefined') {\n                payload['sandbox'] = sandbox;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateApnsProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    authKey: rest[2],\n                    authKeyId: rest[3],\n                    teamId: rest[4],\n                    bundleId: rest[5],\n                    sandbox: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const authKey = params.authKey;\n            const authKeyId = params.authKeyId;\n            const teamId = params.teamId;\n            const bundleId = params.bundleId;\n            const sandbox = params.sandbox;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/apns/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof authKey !== 'undefined') {\n                payload['authKey'] = authKey;\n            }\n            if (typeof authKeyId !== 'undefined') {\n                payload['authKeyId'] = authKeyId;\n            }\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            if (typeof bundleId !== 'undefined') {\n                payload['bundleId'] = bundleId;\n            }\n            if (typeof sandbox !== 'undefined') {\n                payload['sandbox'] = sandbox;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateAPNSProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    authKey: rest[2],\n                    authKeyId: rest[3],\n                    teamId: rest[4],\n                    bundleId: rest[5],\n                    sandbox: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const authKey = params.authKey;\n            const authKeyId = params.authKeyId;\n            const teamId = params.teamId;\n            const bundleId = params.bundleId;\n            const sandbox = params.sandbox;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/apns/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof authKey !== 'undefined') {\n                payload['authKey'] = authKey;\n            }\n            if (typeof authKeyId !== 'undefined') {\n                payload['authKeyId'] = authKeyId;\n            }\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            if (typeof bundleId !== 'undefined') {\n                payload['bundleId'] = bundleId;\n            }\n            if (typeof sandbox !== 'undefined') {\n                payload['sandbox'] = sandbox;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createFcmProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    serviceAccountJSON: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const serviceAccountJSON = params.serviceAccountJSON;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/fcm';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof serviceAccountJSON !== 'undefined') {\n                payload['serviceAccountJSON'] = serviceAccountJSON;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createFCMProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    serviceAccountJSON: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const serviceAccountJSON = params.serviceAccountJSON;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/fcm';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof serviceAccountJSON !== 'undefined') {\n                payload['serviceAccountJSON'] = serviceAccountJSON;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateFcmProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    serviceAccountJSON: rest[2]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const serviceAccountJSON = params.serviceAccountJSON;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/fcm/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof serviceAccountJSON !== 'undefined') {\n                payload['serviceAccountJSON'] = serviceAccountJSON;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateFCMProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    serviceAccountJSON: rest[2]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const serviceAccountJSON = params.serviceAccountJSON;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/fcm/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof serviceAccountJSON !== 'undefined') {\n                payload['serviceAccountJSON'] = serviceAccountJSON;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createMailgunProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    apiKey: rest[1],\n                    domain: rest[2],\n                    isEuRegion: rest[3],\n                    fromName: rest[4],\n                    fromEmail: rest[5],\n                    replyToName: rest[6],\n                    replyToEmail: rest[7],\n                    enabled: rest[8]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const apiKey = params.apiKey;\n            const domain = params.domain;\n            const isEuRegion = params.isEuRegion;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/mailgun';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof isEuRegion !== 'undefined') {\n                payload['isEuRegion'] = isEuRegion;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateMailgunProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    apiKey: rest[1],\n                    domain: rest[2],\n                    isEuRegion: rest[3],\n                    enabled: rest[4],\n                    fromName: rest[5],\n                    fromEmail: rest[6],\n                    replyToName: rest[7],\n                    replyToEmail: rest[8]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const apiKey = params.apiKey;\n            const domain = params.domain;\n            const isEuRegion = params.isEuRegion;\n            const enabled = params.enabled;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/mailgun/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof isEuRegion !== 'undefined') {\n                payload['isEuRegion'] = isEuRegion;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createMsg91Provider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    templateId: rest[1],\n                    senderId: rest[2],\n                    authKey: rest[3],\n                    enabled: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const templateId = params.templateId;\n            const senderId = params.senderId;\n            const authKey = params.authKey;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/msg91';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof templateId !== 'undefined') {\n                payload['templateId'] = templateId;\n            }\n            if (typeof senderId !== 'undefined') {\n                payload['senderId'] = senderId;\n            }\n            if (typeof authKey !== 'undefined') {\n                payload['authKey'] = authKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateMsg91Provider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    templateId: rest[2],\n                    senderId: rest[3],\n                    authKey: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const templateId = params.templateId;\n            const senderId = params.senderId;\n            const authKey = params.authKey;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/msg91/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof templateId !== 'undefined') {\n                payload['templateId'] = templateId;\n            }\n            if (typeof senderId !== 'undefined') {\n                payload['senderId'] = senderId;\n            }\n            if (typeof authKey !== 'undefined') {\n                payload['authKey'] = authKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createResendProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    apiKey: rest[1],\n                    fromName: rest[2],\n                    fromEmail: rest[3],\n                    replyToName: rest[4],\n                    replyToEmail: rest[5],\n                    enabled: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const apiKey = params.apiKey;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/resend';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateResendProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    apiKey: rest[2],\n                    fromName: rest[3],\n                    fromEmail: rest[4],\n                    replyToName: rest[5],\n                    replyToEmail: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const apiKey = params.apiKey;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/resend/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createSendgridProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    apiKey: rest[1],\n                    fromName: rest[2],\n                    fromEmail: rest[3],\n                    replyToName: rest[4],\n                    replyToEmail: rest[5],\n                    enabled: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const apiKey = params.apiKey;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/sendgrid';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateSendgridProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    apiKey: rest[2],\n                    fromName: rest[3],\n                    fromEmail: rest[4],\n                    replyToName: rest[5],\n                    replyToEmail: rest[6]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const apiKey = params.apiKey;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/sendgrid/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createSesProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    accessKey: rest[1],\n                    secretKey: rest[2],\n                    region: rest[3],\n                    fromName: rest[4],\n                    fromEmail: rest[5],\n                    replyToName: rest[6],\n                    replyToEmail: rest[7],\n                    enabled: rest[8]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const accessKey = params.accessKey;\n            const secretKey = params.secretKey;\n            const region = params.region;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/ses';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof accessKey !== 'undefined') {\n                payload['accessKey'] = accessKey;\n            }\n            if (typeof secretKey !== 'undefined') {\n                payload['secretKey'] = secretKey;\n            }\n            if (typeof region !== 'undefined') {\n                payload['region'] = region;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateSesProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    accessKey: rest[2],\n                    secretKey: rest[3],\n                    region: rest[4],\n                    fromName: rest[5],\n                    fromEmail: rest[6],\n                    replyToName: rest[7],\n                    replyToEmail: rest[8]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const accessKey = params.accessKey;\n            const secretKey = params.secretKey;\n            const region = params.region;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/ses/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof accessKey !== 'undefined') {\n                payload['accessKey'] = accessKey;\n            }\n            if (typeof secretKey !== 'undefined') {\n                payload['secretKey'] = secretKey;\n            }\n            if (typeof region !== 'undefined') {\n                payload['region'] = region;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createSmtpProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    host: rest[1],\n                    port: rest[2],\n                    username: rest[3],\n                    password: rest[4],\n                    encryption: rest[5],\n                    autoTLS: rest[6],\n                    mailer: rest[7],\n                    fromName: rest[8],\n                    fromEmail: rest[9],\n                    replyToName: rest[10],\n                    replyToEmail: rest[11],\n                    enabled: rest[12]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const host = params.host;\n            const port = params.port;\n            const username = params.username;\n            const password = params.password;\n            const encryption = params.encryption;\n            const autoTLS = params.autoTLS;\n            const mailer = params.mailer;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof host === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"host\"');\n            }\n            const apiPath = '/messaging/providers/smtp';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof host !== 'undefined') {\n                payload['host'] = host;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof encryption !== 'undefined') {\n                payload['encryption'] = encryption;\n            }\n            if (typeof autoTLS !== 'undefined') {\n                payload['autoTLS'] = autoTLS;\n            }\n            if (typeof mailer !== 'undefined') {\n                payload['mailer'] = mailer;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createSMTPProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    host: rest[1],\n                    port: rest[2],\n                    username: rest[3],\n                    password: rest[4],\n                    encryption: rest[5],\n                    autoTLS: rest[6],\n                    mailer: rest[7],\n                    fromName: rest[8],\n                    fromEmail: rest[9],\n                    replyToName: rest[10],\n                    replyToEmail: rest[11],\n                    enabled: rest[12]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const host = params.host;\n            const port = params.port;\n            const username = params.username;\n            const password = params.password;\n            const encryption = params.encryption;\n            const autoTLS = params.autoTLS;\n            const mailer = params.mailer;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof host === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"host\"');\n            }\n            const apiPath = '/messaging/providers/smtp';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof host !== 'undefined') {\n                payload['host'] = host;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof encryption !== 'undefined') {\n                payload['encryption'] = encryption;\n            }\n            if (typeof autoTLS !== 'undefined') {\n                payload['autoTLS'] = autoTLS;\n            }\n            if (typeof mailer !== 'undefined') {\n                payload['mailer'] = mailer;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateSmtpProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    host: rest[1],\n                    port: rest[2],\n                    username: rest[3],\n                    password: rest[4],\n                    encryption: rest[5],\n                    autoTLS: rest[6],\n                    mailer: rest[7],\n                    fromName: rest[8],\n                    fromEmail: rest[9],\n                    replyToName: rest[10],\n                    replyToEmail: rest[11],\n                    enabled: rest[12]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const host = params.host;\n            const port = params.port;\n            const username = params.username;\n            const password = params.password;\n            const encryption = params.encryption;\n            const autoTLS = params.autoTLS;\n            const mailer = params.mailer;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/smtp/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof host !== 'undefined') {\n                payload['host'] = host;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof encryption !== 'undefined') {\n                payload['encryption'] = encryption;\n            }\n            if (typeof autoTLS !== 'undefined') {\n                payload['autoTLS'] = autoTLS;\n            }\n            if (typeof mailer !== 'undefined') {\n                payload['mailer'] = mailer;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateSMTPProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    host: rest[1],\n                    port: rest[2],\n                    username: rest[3],\n                    password: rest[4],\n                    encryption: rest[5],\n                    autoTLS: rest[6],\n                    mailer: rest[7],\n                    fromName: rest[8],\n                    fromEmail: rest[9],\n                    replyToName: rest[10],\n                    replyToEmail: rest[11],\n                    enabled: rest[12]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const host = params.host;\n            const port = params.port;\n            const username = params.username;\n            const password = params.password;\n            const encryption = params.encryption;\n            const autoTLS = params.autoTLS;\n            const mailer = params.mailer;\n            const fromName = params.fromName;\n            const fromEmail = params.fromEmail;\n            const replyToName = params.replyToName;\n            const replyToEmail = params.replyToEmail;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/smtp/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof host !== 'undefined') {\n                payload['host'] = host;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof encryption !== 'undefined') {\n                payload['encryption'] = encryption;\n            }\n            if (typeof autoTLS !== 'undefined') {\n                payload['autoTLS'] = autoTLS;\n            }\n            if (typeof mailer !== 'undefined') {\n                payload['mailer'] = mailer;\n            }\n            if (typeof fromName !== 'undefined') {\n                payload['fromName'] = fromName;\n            }\n            if (typeof fromEmail !== 'undefined') {\n                payload['fromEmail'] = fromEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createTelesignProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    from: rest[1],\n                    customerId: rest[2],\n                    apiKey: rest[3],\n                    enabled: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const from = params.from;\n            const customerId = params.customerId;\n            const apiKey = params.apiKey;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/telesign';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            if (typeof customerId !== 'undefined') {\n                payload['customerId'] = customerId;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateTelesignProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    customerId: rest[2],\n                    apiKey: rest[3],\n                    from: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const customerId = params.customerId;\n            const apiKey = params.apiKey;\n            const from = params.from;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/telesign/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof customerId !== 'undefined') {\n                payload['customerId'] = customerId;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createTextmagicProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    from: rest[1],\n                    username: rest[2],\n                    apiKey: rest[3],\n                    enabled: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const from = params.from;\n            const username = params.username;\n            const apiKey = params.apiKey;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/textmagic';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateTextmagicProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    username: rest[2],\n                    apiKey: rest[3],\n                    from: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const username = params.username;\n            const apiKey = params.apiKey;\n            const from = params.from;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/textmagic/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createTwilioProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    from: rest[1],\n                    accountSid: rest[2],\n                    authToken: rest[3],\n                    enabled: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const from = params.from;\n            const accountSid = params.accountSid;\n            const authToken = params.authToken;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/twilio';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            if (typeof accountSid !== 'undefined') {\n                payload['accountSid'] = accountSid;\n            }\n            if (typeof authToken !== 'undefined') {\n                payload['authToken'] = authToken;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateTwilioProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    accountSid: rest[2],\n                    authToken: rest[3],\n                    from: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const accountSid = params.accountSid;\n            const authToken = params.authToken;\n            const from = params.from;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/twilio/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof accountSid !== 'undefined') {\n                payload['accountSid'] = accountSid;\n            }\n            if (typeof authToken !== 'undefined') {\n                payload['authToken'] = authToken;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createVonageProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    from: rest[1],\n                    apiKey: rest[2],\n                    apiSecret: rest[3],\n                    enabled: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const from = params.from;\n            const apiKey = params.apiKey;\n            const apiSecret = params.apiSecret;\n            const enabled = params.enabled;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/providers/vonage';\n            const payload = {};\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof apiSecret !== 'undefined') {\n                payload['apiSecret'] = apiSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateVonageProvider(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    apiKey: rest[2],\n                    apiSecret: rest[3],\n                    from: rest[4]\n                };\n            }\n            const providerId = params.providerId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const apiKey = params.apiKey;\n            const apiSecret = params.apiSecret;\n            const from = params.from;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/vonage/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof apiSecret !== 'undefined') {\n                payload['apiSecret'] = apiSecret;\n            }\n            if (typeof from !== 'undefined') {\n                payload['from'] = from;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getProvider(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst\n                };\n            }\n            const providerId = params.providerId;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteProvider(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst\n                };\n            }\n            const providerId = params.providerId;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listProviderLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const providerId = params.providerId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/messaging/providers/{providerId}/logs'.replace('{providerId}', providerId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listSubscriberLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    subscriberId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const subscriberId = params.subscriberId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof subscriberId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"subscriberId\"');\n            }\n            const apiPath = '/messaging/subscribers/{subscriberId}/logs'.replace('{subscriberId}', subscriberId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listTopics(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/messaging/topics';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTopic(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst,\n                    name: rest[0],\n                    subscribe: rest[1]\n                };\n            }\n            const topicId = params.topicId;\n            const name = params.name;\n            const subscribe = params.subscribe;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/messaging/topics';\n            const payload = {};\n            if (typeof topicId !== 'undefined') {\n                payload['topicId'] = topicId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof subscribe !== 'undefined') {\n                payload['subscribe'] = subscribe;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getTopic(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst\n                };\n            }\n            const topicId = params.topicId;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}'.replace('{topicId}', topicId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateTopic(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst,\n                    name: rest[0],\n                    subscribe: rest[1]\n                };\n            }\n            const topicId = params.topicId;\n            const name = params.name;\n            const subscribe = params.subscribe;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}'.replace('{topicId}', topicId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof subscribe !== 'undefined') {\n                payload['subscribe'] = subscribe;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteTopic(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst\n                };\n            }\n            const topicId = params.topicId;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}'.replace('{topicId}', topicId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listTopicLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const topicId = params.topicId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}/logs'.replace('{topicId}', topicId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listSubscribers(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const topicId = params.topicId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}/subscribers'.replace('{topicId}', topicId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createSubscriber(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst,\n                    subscriberId: rest[0],\n                    targetId: rest[1]\n                };\n            }\n            const topicId = params.topicId;\n            const subscriberId = params.subscriberId;\n            const targetId = params.targetId;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            if (typeof subscriberId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"subscriberId\"');\n            }\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}/subscribers'.replace('{topicId}', topicId);\n            const payload = {};\n            if (typeof subscriberId !== 'undefined') {\n                payload['subscriberId'] = subscriberId;\n            }\n            if (typeof targetId !== 'undefined') {\n                payload['targetId'] = targetId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getSubscriber(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst,\n                    subscriberId: rest[0]\n                };\n            }\n            const topicId = params.topicId;\n            const subscriberId = params.subscriberId;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            if (typeof subscriberId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"subscriberId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}/subscribers/{subscriberId}'.replace('{topicId}', topicId).replace('{subscriberId}', subscriberId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteSubscriber(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    topicId: paramsOrFirst,\n                    subscriberId: rest[0]\n                };\n            }\n            const topicId = params.topicId;\n            const subscriberId = params.subscriberId;\n            if (typeof topicId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"topicId\"');\n            }\n            if (typeof subscriberId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"subscriberId\"');\n            }\n            const apiPath = '/messaging/topics/{topicId}/subscribers/{subscriberId}'.replace('{topicId}', topicId).replace('{subscriberId}', subscriberId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Migrations {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/migrations';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createAppwriteMigration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'endpoint' in paramsOrFirst || 'projectId' in paramsOrFirst || 'apiKey' in paramsOrFirst || 'onDuplicate' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    endpoint: rest[0],\n                    projectId: rest[1],\n                    apiKey: rest[2],\n                    onDuplicate: rest[3]\n                };\n            }\n            const resources = params.resources;\n            const endpoint = params.endpoint;\n            const projectId = params.projectId;\n            const apiKey = params.apiKey;\n            const onDuplicate = params.onDuplicate;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof endpoint === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"endpoint\"');\n            }\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof apiKey === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"apiKey\"');\n            }\n            const apiPath = '/migrations/appwrite';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof projectId !== 'undefined') {\n                payload['projectId'] = projectId;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof onDuplicate !== 'undefined') {\n                payload['onDuplicate'] = onDuplicate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getAppwriteReport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'endpoint' in paramsOrFirst || 'projectID' in paramsOrFirst || 'key' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    endpoint: rest[0],\n                    projectID: rest[1],\n                    key: rest[2]\n                };\n            }\n            const resources = params.resources;\n            const endpoint = params.endpoint;\n            const projectID = params.projectID;\n            const key = params.key;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof endpoint === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"endpoint\"');\n            }\n            if (typeof projectID === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectID\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/migrations/appwrite/report';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof projectID !== 'undefined') {\n                payload['projectID'] = projectID;\n            }\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createCSVExport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resourceId: paramsOrFirst,\n                    filename: rest[0],\n                    columns: rest[1],\n                    queries: rest[2],\n                    delimiter: rest[3],\n                    enclosure: rest[4],\n                    escape: rest[5],\n                    header: rest[6],\n                    notify: rest[7]\n                };\n            }\n            const resourceId = params.resourceId;\n            const filename = params.filename;\n            const columns = params.columns;\n            const queries = params.queries;\n            const delimiter = params.delimiter;\n            const enclosure = params.enclosure;\n            const escape = params.escape;\n            const header = params.header;\n            const notify = params.notify;\n            if (typeof resourceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceId\"');\n            }\n            if (typeof filename === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"filename\"');\n            }\n            const apiPath = '/migrations/csv/exports';\n            const payload = {};\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof filename !== 'undefined') {\n                payload['filename'] = filename;\n            }\n            if (typeof columns !== 'undefined') {\n                payload['columns'] = columns;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof delimiter !== 'undefined') {\n                payload['delimiter'] = delimiter;\n            }\n            if (typeof enclosure !== 'undefined') {\n                payload['enclosure'] = enclosure;\n            }\n            if (typeof escape !== 'undefined') {\n                payload['escape'] = escape;\n            }\n            if (typeof header !== 'undefined') {\n                payload['header'] = header;\n            }\n            if (typeof notify !== 'undefined') {\n                payload['notify'] = notify;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createCSVImport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    resourceId: rest[1],\n                    internalFile: rest[2],\n                    onDuplicate: rest[3]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const resourceId = params.resourceId;\n            const internalFile = params.internalFile;\n            const onDuplicate = params.onDuplicate;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            if (typeof resourceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceId\"');\n            }\n            const apiPath = '/migrations/csv/imports';\n            const payload = {};\n            if (typeof bucketId !== 'undefined') {\n                payload['bucketId'] = bucketId;\n            }\n            if (typeof fileId !== 'undefined') {\n                payload['fileId'] = fileId;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof internalFile !== 'undefined') {\n                payload['internalFile'] = internalFile;\n            }\n            if (typeof onDuplicate !== 'undefined') {\n                payload['onDuplicate'] = onDuplicate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createFirebaseMigration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'serviceAccount' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    serviceAccount: rest[0]\n                };\n            }\n            const resources = params.resources;\n            const serviceAccount = params.serviceAccount;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof serviceAccount === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"serviceAccount\"');\n            }\n            const apiPath = '/migrations/firebase';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof serviceAccount !== 'undefined') {\n                payload['serviceAccount'] = serviceAccount;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getFirebaseReport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'serviceAccount' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    serviceAccount: rest[0]\n                };\n            }\n            const resources = params.resources;\n            const serviceAccount = params.serviceAccount;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof serviceAccount === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"serviceAccount\"');\n            }\n            const apiPath = '/migrations/firebase/report';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof serviceAccount !== 'undefined') {\n                payload['serviceAccount'] = serviceAccount;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createJSONExport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resourceId: paramsOrFirst,\n                    filename: rest[0],\n                    columns: rest[1],\n                    queries: rest[2],\n                    notify: rest[3]\n                };\n            }\n            const resourceId = params.resourceId;\n            const filename = params.filename;\n            const columns = params.columns;\n            const queries = params.queries;\n            const notify = params.notify;\n            if (typeof resourceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceId\"');\n            }\n            if (typeof filename === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"filename\"');\n            }\n            const apiPath = '/migrations/json/exports';\n            const payload = {};\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof filename !== 'undefined') {\n                payload['filename'] = filename;\n            }\n            if (typeof columns !== 'undefined') {\n                payload['columns'] = columns;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof notify !== 'undefined') {\n                payload['notify'] = notify;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createJSONImport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    resourceId: rest[1],\n                    internalFile: rest[2],\n                    onDuplicate: rest[3]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const resourceId = params.resourceId;\n            const internalFile = params.internalFile;\n            const onDuplicate = params.onDuplicate;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            if (typeof resourceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceId\"');\n            }\n            const apiPath = '/migrations/json/imports';\n            const payload = {};\n            if (typeof bucketId !== 'undefined') {\n                payload['bucketId'] = bucketId;\n            }\n            if (typeof fileId !== 'undefined') {\n                payload['fileId'] = fileId;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof internalFile !== 'undefined') {\n                payload['internalFile'] = internalFile;\n            }\n            if (typeof onDuplicate !== 'undefined') {\n                payload['onDuplicate'] = onDuplicate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createNHostMigration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'subdomain' in paramsOrFirst || 'region' in paramsOrFirst || 'adminSecret' in paramsOrFirst || 'database' in paramsOrFirst || 'username' in paramsOrFirst || 'password' in paramsOrFirst || 'port' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    subdomain: rest[0],\n                    region: rest[1],\n                    adminSecret: rest[2],\n                    database: rest[3],\n                    username: rest[4],\n                    password: rest[5],\n                    port: rest[6]\n                };\n            }\n            const resources = params.resources;\n            const subdomain = params.subdomain;\n            const region = params.region;\n            const adminSecret = params.adminSecret;\n            const database = params.database;\n            const username = params.username;\n            const password = params.password;\n            const port = params.port;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof subdomain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"subdomain\"');\n            }\n            if (typeof region === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"region\"');\n            }\n            if (typeof adminSecret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"adminSecret\"');\n            }\n            if (typeof database === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"database\"');\n            }\n            if (typeof username === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"username\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/migrations/nhost';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof subdomain !== 'undefined') {\n                payload['subdomain'] = subdomain;\n            }\n            if (typeof region !== 'undefined') {\n                payload['region'] = region;\n            }\n            if (typeof adminSecret !== 'undefined') {\n                payload['adminSecret'] = adminSecret;\n            }\n            if (typeof database !== 'undefined') {\n                payload['database'] = database;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getNHostReport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'subdomain' in paramsOrFirst || 'region' in paramsOrFirst || 'adminSecret' in paramsOrFirst || 'database' in paramsOrFirst || 'username' in paramsOrFirst || 'password' in paramsOrFirst || 'port' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    subdomain: rest[0],\n                    region: rest[1],\n                    adminSecret: rest[2],\n                    database: rest[3],\n                    username: rest[4],\n                    password: rest[5],\n                    port: rest[6]\n                };\n            }\n            const resources = params.resources;\n            const subdomain = params.subdomain;\n            const region = params.region;\n            const adminSecret = params.adminSecret;\n            const database = params.database;\n            const username = params.username;\n            const password = params.password;\n            const port = params.port;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof subdomain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"subdomain\"');\n            }\n            if (typeof region === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"region\"');\n            }\n            if (typeof adminSecret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"adminSecret\"');\n            }\n            if (typeof database === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"database\"');\n            }\n            if (typeof username === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"username\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/migrations/nhost/report';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof subdomain !== 'undefined') {\n                payload['subdomain'] = subdomain;\n            }\n            if (typeof region !== 'undefined') {\n                payload['region'] = region;\n            }\n            if (typeof adminSecret !== 'undefined') {\n                payload['adminSecret'] = adminSecret;\n            }\n            if (typeof database !== 'undefined') {\n                payload['database'] = database;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createSupabaseMigration(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'endpoint' in paramsOrFirst || 'apiKey' in paramsOrFirst || 'databaseHost' in paramsOrFirst || 'username' in paramsOrFirst || 'password' in paramsOrFirst || 'port' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    endpoint: rest[0],\n                    apiKey: rest[1],\n                    databaseHost: rest[2],\n                    username: rest[3],\n                    password: rest[4],\n                    port: rest[5]\n                };\n            }\n            const resources = params.resources;\n            const endpoint = params.endpoint;\n            const apiKey = params.apiKey;\n            const databaseHost = params.databaseHost;\n            const username = params.username;\n            const password = params.password;\n            const port = params.port;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof endpoint === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"endpoint\"');\n            }\n            if (typeof apiKey === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"apiKey\"');\n            }\n            if (typeof databaseHost === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseHost\"');\n            }\n            if (typeof username === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"username\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/migrations/supabase';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof databaseHost !== 'undefined') {\n                payload['databaseHost'] = databaseHost;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getSupabaseReport(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('resources' in paramsOrFirst || 'endpoint' in paramsOrFirst || 'apiKey' in paramsOrFirst || 'databaseHost' in paramsOrFirst || 'username' in paramsOrFirst || 'password' in paramsOrFirst || 'port' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    resources: paramsOrFirst,\n                    endpoint: rest[0],\n                    apiKey: rest[1],\n                    databaseHost: rest[2],\n                    username: rest[3],\n                    password: rest[4],\n                    port: rest[5]\n                };\n            }\n            const resources = params.resources;\n            const endpoint = params.endpoint;\n            const apiKey = params.apiKey;\n            const databaseHost = params.databaseHost;\n            const username = params.username;\n            const password = params.password;\n            const port = params.port;\n            if (typeof resources === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resources\"');\n            }\n            if (typeof endpoint === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"endpoint\"');\n            }\n            if (typeof apiKey === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"apiKey\"');\n            }\n            if (typeof databaseHost === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseHost\"');\n            }\n            if (typeof username === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"username\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/migrations/supabase/report';\n            const payload = {};\n            if (typeof resources !== 'undefined') {\n                payload['resources'] = resources;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof databaseHost !== 'undefined') {\n                payload['databaseHost'] = databaseHost;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    migrationId: paramsOrFirst\n                };\n            }\n            const migrationId = params.migrationId;\n            if (typeof migrationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"migrationId\"');\n            }\n            const apiPath = '/migrations/{migrationId}'.replace('{migrationId}', migrationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        retry(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    migrationId: paramsOrFirst\n                };\n            }\n            const migrationId = params.migrationId;\n            if (typeof migrationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"migrationId\"');\n            }\n            const apiPath = '/migrations/{migrationId}'.replace('{migrationId}', migrationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    migrationId: paramsOrFirst\n                };\n            }\n            const migrationId = params.migrationId;\n            if (typeof migrationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"migrationId\"');\n            }\n            const apiPath = '/migrations/{migrationId}'.replace('{migrationId}', migrationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Organization {\n        constructor(client) {\n            this.client = client;\n        }\n        listKeys(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/organization/keys';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst,\n                    name: rest[0],\n                    scopes: rest[1],\n                    expire: rest[2]\n                };\n            }\n            const keyId = params.keyId;\n            const name = params.name;\n            const scopes = params.scopes;\n            const expire = params.expire;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof scopes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scopes\"');\n            }\n            const apiPath = '/organization/keys';\n            const payload = {};\n            if (typeof keyId !== 'undefined') {\n                payload['keyId'] = keyId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getKey(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst\n                };\n            }\n            const keyId = params.keyId;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/organization/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst,\n                    name: rest[0],\n                    scopes: rest[1],\n                    expire: rest[2]\n                };\n            }\n            const keyId = params.keyId;\n            const name = params.name;\n            const scopes = params.scopes;\n            const expire = params.expire;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof scopes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scopes\"');\n            }\n            const apiPath = '/organization/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteKey(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst\n                };\n            }\n            const keyId = params.keyId;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/organization/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listProjects(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/organization/projects';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createProject(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    name: rest[0],\n                    region: rest[1]\n                };\n            }\n            const projectId = params.projectId;\n            const name = params.name;\n            const region = params.region;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/organization/projects';\n            const payload = {};\n            if (typeof projectId !== 'undefined') {\n                payload['projectId'] = projectId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof region !== 'undefined') {\n                payload['region'] = region;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getProject(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst\n                };\n            }\n            const projectId = params.projectId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            const apiPath = '/organization/projects/{projectId}'.replace('{projectId}', projectId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateProject(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    name: rest[0]\n                };\n            }\n            const projectId = params.projectId;\n            const name = params.name;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/organization/projects/{projectId}'.replace('{projectId}', projectId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteProject(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst\n                };\n            }\n            const projectId = params.projectId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            const apiPath = '/organization/projects/{projectId}'.replace('{projectId}', projectId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Organizations {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const apiPath = '/organizations';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    name: rest[0],\n                    billingPlan: rest[1],\n                    paymentMethodId: rest[2],\n                    billingAddressId: rest[3],\n                    invites: rest[4],\n                    couponId: rest[5],\n                    taxId: rest[6],\n                    budget: rest[7],\n                    platform: rest[8]\n                };\n            }\n            const organizationId = params.organizationId;\n            const name = params.name;\n            const billingPlan = params.billingPlan;\n            const paymentMethodId = params.paymentMethodId;\n            const billingAddressId = params.billingAddressId;\n            const invites = params.invites;\n            const couponId = params.couponId;\n            const taxId = params.taxId;\n            const budget = params.budget;\n            const platform = params.platform;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof billingPlan === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingPlan\"');\n            }\n            const apiPath = '/organizations';\n            const payload = {};\n            if (typeof organizationId !== 'undefined') {\n                payload['organizationId'] = organizationId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof billingPlan !== 'undefined') {\n                payload['billingPlan'] = billingPlan;\n            }\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            if (typeof billingAddressId !== 'undefined') {\n                payload['billingAddressId'] = billingAddressId;\n            }\n            if (typeof invites !== 'undefined') {\n                payload['invites'] = invites;\n            }\n            if (typeof couponId !== 'undefined') {\n                payload['couponId'] = couponId;\n            }\n            if (typeof taxId !== 'undefined') {\n                payload['taxId'] = taxId;\n            }\n            if (typeof budget !== 'undefined') {\n                payload['budget'] = budget;\n            }\n            if (typeof platform !== 'undefined') {\n                payload['platform'] = platform;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        estimationCreateOrganization(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    billingPlan: paramsOrFirst,\n                    paymentMethodId: rest[0],\n                    invites: rest[1],\n                    couponId: rest[2],\n                    platform: rest[3]\n                };\n            }\n            const billingPlan = params.billingPlan;\n            const paymentMethodId = params.paymentMethodId;\n            const invites = params.invites;\n            const couponId = params.couponId;\n            const platform = params.platform;\n            if (typeof billingPlan === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingPlan\"');\n            }\n            const apiPath = '/organizations/estimations/create-organization';\n            const payload = {};\n            if (typeof billingPlan !== 'undefined') {\n                payload['billingPlan'] = billingPlan;\n            }\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            if (typeof invites !== 'undefined') {\n                payload['invites'] = invites;\n            }\n            if (typeof couponId !== 'undefined') {\n                payload['couponId'] = couponId;\n            }\n            if (typeof platform !== 'undefined') {\n                payload['platform'] = platform;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listAddons(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/addons'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createBaaAddon(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/addons/baa'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getAddon(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    addonId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const addonId = params.addonId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof addonId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"addonId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/addons/{addonId}'.replace('{organizationId}', organizationId).replace('{addonId}', addonId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteAddon(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    addonId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const addonId = params.addonId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof addonId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"addonId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/addons/{addonId}'.replace('{organizationId}', organizationId).replace('{addonId}', addonId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        confirmAddonPayment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    addonId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const addonId = params.addonId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof addonId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"addonId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/addons/{addonId}/confirmations'.replace('{organizationId}', organizationId).replace('{addonId}', addonId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getAddonPrice(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    addon: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const addon = params.addon;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof addon === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"addon\"');\n            }\n            const apiPath = '/organizations/{organizationId}/addons/{addon}/price'.replace('{organizationId}', organizationId).replace('{addon}', addon);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listAggregations(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const queries = params.queries;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/aggregations'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getAggregation(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    aggregationId: rest[0],\n                    limit: rest[1],\n                    offset: rest[2]\n                };\n            }\n            const organizationId = params.organizationId;\n            const aggregationId = params.aggregationId;\n            const limit = params.limit;\n            const offset = params.offset;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof aggregationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"aggregationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/aggregations/{aggregationId}'.replace('{organizationId}', organizationId).replace('{aggregationId}', aggregationId);\n            const payload = {};\n            if (typeof limit !== 'undefined') {\n                payload['limit'] = limit;\n            }\n            if (typeof offset !== 'undefined') {\n                payload['offset'] = offset;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        setBillingAddress(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    billingAddressId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const billingAddressId = params.billingAddressId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof billingAddressId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingAddressId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/billing-address'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof billingAddressId !== 'undefined') {\n                payload['billingAddressId'] = billingAddressId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteBillingAddress(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/billing-address'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getBillingAddress(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    billingAddressId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const billingAddressId = params.billingAddressId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof billingAddressId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingAddressId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/billing-addresses/{billingAddressId}'.replace('{organizationId}', organizationId).replace('{billingAddressId}', billingAddressId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        setBillingEmail(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    billingEmail: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const billingEmail = params.billingEmail;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof billingEmail === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingEmail\"');\n            }\n            const apiPath = '/organizations/{organizationId}/billing-email'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof billingEmail !== 'undefined') {\n                payload['billingEmail'] = billingEmail;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateBudget(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    budget: rest[0],\n                    alerts: rest[1]\n                };\n            }\n            const organizationId = params.organizationId;\n            const budget = params.budget;\n            const alerts = params.alerts;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof budget === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"budget\"');\n            }\n            const apiPath = '/organizations/{organizationId}/budget'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof budget !== 'undefined') {\n                payload['budget'] = budget;\n            }\n            if (typeof alerts !== 'undefined') {\n                payload['alerts'] = alerts;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listCredits(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const queries = params.queries;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/credits'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        addCredit(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    couponId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const couponId = params.couponId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof couponId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"couponId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/credits'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof couponId !== 'undefined') {\n                payload['couponId'] = couponId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getAvailableCredits(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/credits/available'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getCredit(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    creditId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const creditId = params.creditId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof creditId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"creditId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/credits/{creditId}'.replace('{organizationId}', organizationId).replace('{creditId}', creditId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        estimationDeleteOrganization(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/estimations/delete-organization'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        estimationUpdatePlan(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    billingPlan: rest[0],\n                    invites: rest[1],\n                    couponId: rest[2]\n                };\n            }\n            const organizationId = params.organizationId;\n            const billingPlan = params.billingPlan;\n            const invites = params.invites;\n            const couponId = params.couponId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof billingPlan === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingPlan\"');\n            }\n            const apiPath = '/organizations/{organizationId}/estimations/update-plan'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof billingPlan !== 'undefined') {\n                payload['billingPlan'] = billingPlan;\n            }\n            if (typeof invites !== 'undefined') {\n                payload['invites'] = invites;\n            }\n            if (typeof couponId !== 'undefined') {\n                payload['couponId'] = couponId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createDowngradeFeedback(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    reason: rest[0],\n                    message: rest[1],\n                    fromPlanId: rest[2],\n                    toPlanId: rest[3]\n                };\n            }\n            const organizationId = params.organizationId;\n            const reason = params.reason;\n            const message = params.message;\n            const fromPlanId = params.fromPlanId;\n            const toPlanId = params.toPlanId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof reason === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reason\"');\n            }\n            if (typeof message === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"message\"');\n            }\n            if (typeof fromPlanId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fromPlanId\"');\n            }\n            if (typeof toPlanId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"toPlanId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/feedbacks/downgrade'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof reason !== 'undefined') {\n                payload['reason'] = reason;\n            }\n            if (typeof message !== 'undefined') {\n                payload['message'] = message;\n            }\n            if (typeof fromPlanId !== 'undefined') {\n                payload['fromPlanId'] = fromPlanId;\n            }\n            if (typeof toPlanId !== 'undefined') {\n                payload['toPlanId'] = toPlanId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listInvoices(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const queries = params.queries;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/invoices'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getInvoice(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    invoiceId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const invoiceId = params.invoiceId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof invoiceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"invoiceId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/invoices/{invoiceId}'.replace('{organizationId}', organizationId).replace('{invoiceId}', invoiceId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getInvoiceDownload(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    invoiceId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const invoiceId = params.invoiceId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof invoiceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"invoiceId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/invoices/{invoiceId}/download'.replace('{organizationId}', organizationId).replace('{invoiceId}', invoiceId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        createInvoicePayment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    invoiceId: rest[0],\n                    paymentMethodId: rest[1]\n                };\n            }\n            const organizationId = params.organizationId;\n            const invoiceId = params.invoiceId;\n            const paymentMethodId = params.paymentMethodId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof invoiceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"invoiceId\"');\n            }\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/invoices/{invoiceId}/payments'.replace('{organizationId}', organizationId).replace('{invoiceId}', invoiceId);\n            const payload = {};\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        validateInvoice(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    invoiceId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const invoiceId = params.invoiceId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof invoiceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"invoiceId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/invoices/{invoiceId}/status'.replace('{organizationId}', organizationId).replace('{invoiceId}', invoiceId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getInvoiceView(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    invoiceId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const invoiceId = params.invoiceId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof invoiceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"invoiceId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/invoices/{invoiceId}/view'.replace('{organizationId}', organizationId).replace('{invoiceId}', invoiceId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        setDefaultPaymentMethod(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    paymentMethodId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const paymentMethodId = params.paymentMethodId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/payment-method'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDefaultPaymentMethod(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/payment-method'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        setBackupPaymentMethod(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    paymentMethodId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const paymentMethodId = params.paymentMethodId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/payment-method/backup'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteBackupPaymentMethod(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/payment-method/backup'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getPaymentMethod(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    paymentMethodId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const paymentMethodId = params.paymentMethodId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof paymentMethodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"paymentMethodId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/payment-methods/{paymentMethodId}'.replace('{organizationId}', organizationId).replace('{paymentMethodId}', paymentMethodId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getPlan(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/plan'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updatePlan(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    billingPlan: rest[0],\n                    paymentMethodId: rest[1],\n                    billingAddressId: rest[2],\n                    invites: rest[3],\n                    couponId: rest[4],\n                    taxId: rest[5],\n                    budget: rest[6]\n                };\n            }\n            const organizationId = params.organizationId;\n            const billingPlan = params.billingPlan;\n            const paymentMethodId = params.paymentMethodId;\n            const billingAddressId = params.billingAddressId;\n            const invites = params.invites;\n            const couponId = params.couponId;\n            const taxId = params.taxId;\n            const budget = params.budget;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof billingPlan === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingPlan\"');\n            }\n            const apiPath = '/organizations/{organizationId}/plan'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof billingPlan !== 'undefined') {\n                payload['billingPlan'] = billingPlan;\n            }\n            if (typeof paymentMethodId !== 'undefined') {\n                payload['paymentMethodId'] = paymentMethodId;\n            }\n            if (typeof billingAddressId !== 'undefined') {\n                payload['billingAddressId'] = billingAddressId;\n            }\n            if (typeof invites !== 'undefined') {\n                payload['invites'] = invites;\n            }\n            if (typeof couponId !== 'undefined') {\n                payload['couponId'] = couponId;\n            }\n            if (typeof taxId !== 'undefined') {\n                payload['taxId'] = taxId;\n            }\n            if (typeof budget !== 'undefined') {\n                payload['budget'] = budget;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        cancelDowngrade(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/plan/cancel'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createPlanEstimation(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    billingPlan: rest[0],\n                    invites: rest[1],\n                    couponId: rest[2]\n                };\n            }\n            const organizationId = params.organizationId;\n            const billingPlan = params.billingPlan;\n            const invites = params.invites;\n            const couponId = params.couponId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof billingPlan === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"billingPlan\"');\n            }\n            const apiPath = '/organizations/{organizationId}/plan/estimations'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof billingPlan !== 'undefined') {\n                payload['billingPlan'] = billingPlan;\n            }\n            if (typeof invites !== 'undefined') {\n                payload['invites'] = invites;\n            }\n            if (typeof couponId !== 'undefined') {\n                payload['couponId'] = couponId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listRegions(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst\n                };\n            }\n            const organizationId = params.organizationId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/regions'.replace('{organizationId}', organizationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getScopes(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    projectId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const projectId = params.projectId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/roles'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof projectId !== 'undefined') {\n                payload['projectId'] = projectId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        setBillingTaxId(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    taxId: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const taxId = params.taxId;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            if (typeof taxId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"taxId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/taxId'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof taxId !== 'undefined') {\n                payload['taxId'] = taxId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    startDate: rest[0],\n                    endDate: rest[1]\n                };\n            }\n            const organizationId = params.organizationId;\n            const startDate = params.startDate;\n            const endDate = params.endDate;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/usage'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof startDate !== 'undefined') {\n                payload['startDate'] = startDate;\n            }\n            if (typeof endDate !== 'undefined') {\n                payload['endDate'] = endDate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        validatePayment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    organizationId: paramsOrFirst,\n                    invites: rest[0]\n                };\n            }\n            const organizationId = params.organizationId;\n            const invites = params.invites;\n            if (typeof organizationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"organizationId\"');\n            }\n            const apiPath = '/organizations/{organizationId}/validate'.replace('{organizationId}', organizationId);\n            const payload = {};\n            if (typeof invites !== 'undefined') {\n                payload['invites'] = invites;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n    }\n\n    class Presences {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0],\n                    ttl: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const ttl = params.ttl;\n            const apiPath = '/presences';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/presences/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    presenceId: paramsOrFirst\n                };\n            }\n            const presenceId = params.presenceId;\n            if (typeof presenceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"presenceId\"');\n            }\n            const apiPath = '/presences/{presenceId}'.replace('{presenceId}', presenceId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        upsert(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    presenceId: paramsOrFirst,\n                    status: rest[0],\n                    permissions: rest[1],\n                    expiresAt: rest[2],\n                    metadata: rest[3]\n                };\n            }\n            const presenceId = params.presenceId;\n            const status = params.status;\n            const permissions = params.permissions;\n            const expiresAt = params.expiresAt;\n            const metadata = params.metadata;\n            if (typeof presenceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"presenceId\"');\n            }\n            if (typeof status === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"status\"');\n            }\n            const apiPath = '/presences/{presenceId}'.replace('{presenceId}', presenceId);\n            const payload = {};\n            if (typeof status !== 'undefined') {\n                payload['status'] = status;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof expiresAt !== 'undefined') {\n                payload['expiresAt'] = expiresAt;\n            }\n            if (typeof metadata !== 'undefined') {\n                payload['metadata'] = metadata;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    presenceId: paramsOrFirst,\n                    status: rest[0],\n                    expiresAt: rest[1],\n                    metadata: rest[2],\n                    permissions: rest[3],\n                    purge: rest[4]\n                };\n            }\n            const presenceId = params.presenceId;\n            const status = params.status;\n            const expiresAt = params.expiresAt;\n            const metadata = params.metadata;\n            const permissions = params.permissions;\n            const purge = params.purge;\n            if (typeof presenceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"presenceId\"');\n            }\n            const apiPath = '/presences/{presenceId}'.replace('{presenceId}', presenceId);\n            const payload = {};\n            if (typeof status !== 'undefined') {\n                payload['status'] = status;\n            }\n            if (typeof expiresAt !== 'undefined') {\n                payload['expiresAt'] = expiresAt;\n            }\n            if (typeof metadata !== 'undefined') {\n                payload['metadata'] = metadata;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof purge !== 'undefined') {\n                payload['purge'] = purge;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    presenceId: paramsOrFirst\n                };\n            }\n            const presenceId = params.presenceId;\n            if (typeof presenceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"presenceId\"');\n            }\n            const apiPath = '/presences/{presenceId}'.replace('{presenceId}', presenceId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Project {\n        constructor(client) {\n            this.client = client;\n        }\n        /**\n         * Get a project.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.Project>}\n         */\n        get() {\n            const apiPath = '/project';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * Delete a project.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<{}>}\n         */\n        delete() {\n            const apiPath = '/project';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateAuthMethod(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('methodId' in paramsOrFirst || 'enabled' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    methodId: paramsOrFirst,\n                    enabled: rest[0]\n                };\n            }\n            const methodId = params.methodId;\n            const enabled = params.enabled;\n            if (typeof methodId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"methodId\"');\n            }\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/auth-methods/{methodId}'.replace('{methodId}', methodId);\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listKeys(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/project/keys';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst,\n                    name: rest[0],\n                    scopes: rest[1],\n                    expire: rest[2]\n                };\n            }\n            const keyId = params.keyId;\n            const name = params.name;\n            const scopes = params.scopes;\n            const expire = params.expire;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof scopes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scopes\"');\n            }\n            const apiPath = '/project/keys';\n            const payload = {};\n            if (typeof keyId !== 'undefined') {\n                payload['keyId'] = keyId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createEphemeralKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('scopes' in paramsOrFirst || 'duration' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    scopes: paramsOrFirst,\n                    duration: rest[0]\n                };\n            }\n            const scopes = params.scopes;\n            const duration = params.duration;\n            if (typeof scopes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scopes\"');\n            }\n            if (typeof duration === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"duration\"');\n            }\n            const apiPath = '/project/keys/ephemeral';\n            const payload = {};\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof duration !== 'undefined') {\n                payload['duration'] = duration;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getKey(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst\n                };\n            }\n            const keyId = params.keyId;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/project/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst,\n                    name: rest[0],\n                    scopes: rest[1],\n                    expire: rest[2]\n                };\n            }\n            const keyId = params.keyId;\n            const name = params.name;\n            const scopes = params.scopes;\n            const expire = params.expire;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof scopes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scopes\"');\n            }\n            const apiPath = '/project/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteKey(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyId: paramsOrFirst\n                };\n            }\n            const keyId = params.keyId;\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/project/keys/{keyId}'.replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateLabels(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    labels: paramsOrFirst\n                };\n            }\n            const labels = params.labels;\n            if (typeof labels === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"labels\"');\n            }\n            const apiPath = '/project/labels';\n            const payload = {};\n            if (typeof labels !== 'undefined') {\n                payload['labels'] = labels;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        listMockPhones(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/project/mock-phones';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createMockPhone(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    number: paramsOrFirst,\n                    otp: rest[0]\n                };\n            }\n            const number = params.number;\n            const otp = params.otp;\n            if (typeof number === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"number\"');\n            }\n            if (typeof otp === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"otp\"');\n            }\n            const apiPath = '/project/mock-phones';\n            const payload = {};\n            if (typeof number !== 'undefined') {\n                payload['number'] = number;\n            }\n            if (typeof otp !== 'undefined') {\n                payload['otp'] = otp;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getMockPhone(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    number: paramsOrFirst\n                };\n            }\n            const number = params.number;\n            if (typeof number === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"number\"');\n            }\n            const apiPath = '/project/mock-phones/{number}'.replace('{number}', number);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateMockPhone(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    number: paramsOrFirst,\n                    otp: rest[0]\n                };\n            }\n            const number = params.number;\n            const otp = params.otp;\n            if (typeof number === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"number\"');\n            }\n            if (typeof otp === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"otp\"');\n            }\n            const apiPath = '/project/mock-phones/{number}'.replace('{number}', number);\n            const payload = {};\n            if (typeof otp !== 'undefined') {\n                payload['otp'] = otp;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteMockPhone(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    number: paramsOrFirst\n                };\n            }\n            const number = params.number;\n            if (typeof number === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"number\"');\n            }\n            const apiPath = '/project/mock-phones/{number}'.replace('{number}', number);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listOAuth2Providers(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/project/oauth2';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateOAuth2Server(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst,\n                    authorizationUrl: rest[0],\n                    scopes: rest[1],\n                    authorizationDetailsTypes: rest[2],\n                    accessTokenDuration: rest[3],\n                    refreshTokenDuration: rest[4],\n                    publicAccessTokenDuration: rest[5],\n                    publicRefreshTokenDuration: rest[6],\n                    confidentialPkce: rest[7],\n                    verificationUrl: rest[8],\n                    userCodeLength: rest[9],\n                    userCodeFormat: rest[10],\n                    deviceCodeDuration: rest[11]\n                };\n            }\n            const enabled = params.enabled;\n            const authorizationUrl = params.authorizationUrl;\n            const scopes = params.scopes;\n            const authorizationDetailsTypes = params.authorizationDetailsTypes;\n            const accessTokenDuration = params.accessTokenDuration;\n            const refreshTokenDuration = params.refreshTokenDuration;\n            const publicAccessTokenDuration = params.publicAccessTokenDuration;\n            const publicRefreshTokenDuration = params.publicRefreshTokenDuration;\n            const confidentialPkce = params.confidentialPkce;\n            const verificationUrl = params.verificationUrl;\n            const userCodeLength = params.userCodeLength;\n            const userCodeFormat = params.userCodeFormat;\n            const deviceCodeDuration = params.deviceCodeDuration;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            if (typeof authorizationUrl === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"authorizationUrl\"');\n            }\n            const apiPath = '/project/oauth2-server';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof authorizationUrl !== 'undefined') {\n                payload['authorizationUrl'] = authorizationUrl;\n            }\n            if (typeof scopes !== 'undefined') {\n                payload['scopes'] = scopes;\n            }\n            if (typeof authorizationDetailsTypes !== 'undefined') {\n                payload['authorizationDetailsTypes'] = authorizationDetailsTypes;\n            }\n            if (typeof accessTokenDuration !== 'undefined') {\n                payload['accessTokenDuration'] = accessTokenDuration;\n            }\n            if (typeof refreshTokenDuration !== 'undefined') {\n                payload['refreshTokenDuration'] = refreshTokenDuration;\n            }\n            if (typeof publicAccessTokenDuration !== 'undefined') {\n                payload['publicAccessTokenDuration'] = publicAccessTokenDuration;\n            }\n            if (typeof publicRefreshTokenDuration !== 'undefined') {\n                payload['publicRefreshTokenDuration'] = publicRefreshTokenDuration;\n            }\n            if (typeof confidentialPkce !== 'undefined') {\n                payload['confidentialPkce'] = confidentialPkce;\n            }\n            if (typeof verificationUrl !== 'undefined') {\n                payload['verificationUrl'] = verificationUrl;\n            }\n            if (typeof userCodeLength !== 'undefined') {\n                payload['userCodeLength'] = userCodeLength;\n            }\n            if (typeof userCodeFormat !== 'undefined') {\n                payload['userCodeFormat'] = userCodeFormat;\n            }\n            if (typeof deviceCodeDuration !== 'undefined') {\n                payload['deviceCodeDuration'] = deviceCodeDuration;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateOAuth2Amazon(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/amazon';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Apple(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    serviceId: paramsOrFirst,\n                    keyId: rest[0],\n                    teamId: rest[1],\n                    p8File: rest[2],\n                    enabled: rest[3]\n                };\n            }\n            const serviceId = params.serviceId;\n            const keyId = params.keyId;\n            const teamId = params.teamId;\n            const p8File = params.p8File;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/apple';\n            const payload = {};\n            if (typeof serviceId !== 'undefined') {\n                payload['serviceId'] = serviceId;\n            }\n            if (typeof keyId !== 'undefined') {\n                payload['keyId'] = keyId;\n            }\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            if (typeof p8File !== 'undefined') {\n                payload['p8File'] = p8File;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Auth0(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    endpoint: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const endpoint = params.endpoint;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/auth0';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Authentik(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    endpoint: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const endpoint = params.endpoint;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/authentik';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Autodesk(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/autodesk';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Bitbucket(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    key: paramsOrFirst,\n                    secret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const key = params.key;\n            const secret = params.secret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/bitbucket';\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Bitly(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/bitly';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Box(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/box';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Dailymotion(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    apiKey: paramsOrFirst,\n                    apiSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const apiKey = params.apiKey;\n            const apiSecret = params.apiSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/dailymotion';\n            const payload = {};\n            if (typeof apiKey !== 'undefined') {\n                payload['apiKey'] = apiKey;\n            }\n            if (typeof apiSecret !== 'undefined') {\n                payload['apiSecret'] = apiSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Discord(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/discord';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Disqus(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    publicKey: paramsOrFirst,\n                    secretKey: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const publicKey = params.publicKey;\n            const secretKey = params.secretKey;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/disqus';\n            const payload = {};\n            if (typeof publicKey !== 'undefined') {\n                payload['publicKey'] = publicKey;\n            }\n            if (typeof secretKey !== 'undefined') {\n                payload['secretKey'] = secretKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Dropbox(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appKey: paramsOrFirst,\n                    appSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const appKey = params.appKey;\n            const appSecret = params.appSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/dropbox';\n            const payload = {};\n            if (typeof appKey !== 'undefined') {\n                payload['appKey'] = appKey;\n            }\n            if (typeof appSecret !== 'undefined') {\n                payload['appSecret'] = appSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Etsy(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    keyString: paramsOrFirst,\n                    sharedSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const keyString = params.keyString;\n            const sharedSecret = params.sharedSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/etsy';\n            const payload = {};\n            if (typeof keyString !== 'undefined') {\n                payload['keyString'] = keyString;\n            }\n            if (typeof sharedSecret !== 'undefined') {\n                payload['sharedSecret'] = sharedSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Facebook(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    appId: paramsOrFirst,\n                    appSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const appId = params.appId;\n            const appSecret = params.appSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/facebook';\n            const payload = {};\n            if (typeof appId !== 'undefined') {\n                payload['appId'] = appId;\n            }\n            if (typeof appSecret !== 'undefined') {\n                payload['appSecret'] = appSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Figma(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/figma';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2FusionAuth(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    endpoint: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const endpoint = params.endpoint;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/fusionauth';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2GitHub(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/github';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Gitlab(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    applicationId: paramsOrFirst,\n                    secret: rest[0],\n                    endpoint: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const applicationId = params.applicationId;\n            const secret = params.secret;\n            const endpoint = params.endpoint;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/gitlab';\n            const payload = {};\n            if (typeof applicationId !== 'undefined') {\n                payload['applicationId'] = applicationId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Google(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    prompt: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const prompt = params.prompt;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/google';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof prompt !== 'undefined') {\n                payload['prompt'] = prompt;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Keycloak(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    endpoint: rest[1],\n                    realmName: rest[2],\n                    enabled: rest[3]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const endpoint = params.endpoint;\n            const realmName = params.realmName;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/keycloak';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof endpoint !== 'undefined') {\n                payload['endpoint'] = endpoint;\n            }\n            if (typeof realmName !== 'undefined') {\n                payload['realmName'] = realmName;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Kick(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/kick';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Linkedin(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    primaryClientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const primaryClientSecret = params.primaryClientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/linkedin';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof primaryClientSecret !== 'undefined') {\n                payload['primaryClientSecret'] = primaryClientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Microsoft(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    applicationId: paramsOrFirst,\n                    applicationSecret: rest[0],\n                    tenant: rest[1],\n                    enabled: rest[2]\n                };\n            }\n            const applicationId = params.applicationId;\n            const applicationSecret = params.applicationSecret;\n            const tenant = params.tenant;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/microsoft';\n            const payload = {};\n            if (typeof applicationId !== 'undefined') {\n                payload['applicationId'] = applicationId;\n            }\n            if (typeof applicationSecret !== 'undefined') {\n                payload['applicationSecret'] = applicationSecret;\n            }\n            if (typeof tenant !== 'undefined') {\n                payload['tenant'] = tenant;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Notion(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    oauthClientId: paramsOrFirst,\n                    oauthClientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const oauthClientId = params.oauthClientId;\n            const oauthClientSecret = params.oauthClientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/notion';\n            const payload = {};\n            if (typeof oauthClientId !== 'undefined') {\n                payload['oauthClientId'] = oauthClientId;\n            }\n            if (typeof oauthClientSecret !== 'undefined') {\n                payload['oauthClientSecret'] = oauthClientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Oidc(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    wellKnownURL: rest[1],\n                    authorizationURL: rest[2],\n                    tokenURL: rest[3],\n                    userInfoURL: rest[4],\n                    enabled: rest[5]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const wellKnownURL = params.wellKnownURL;\n            const authorizationURL = params.authorizationURL;\n            const tokenURL = params.tokenURL;\n            const userInfoURL = params.userInfoURL;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/oidc';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof wellKnownURL !== 'undefined') {\n                payload['wellKnownURL'] = wellKnownURL;\n            }\n            if (typeof authorizationURL !== 'undefined') {\n                payload['authorizationURL'] = authorizationURL;\n            }\n            if (typeof tokenURL !== 'undefined') {\n                payload['tokenURL'] = tokenURL;\n            }\n            if (typeof userInfoURL !== 'undefined') {\n                payload['userInfoURL'] = userInfoURL;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Okta(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    domain: rest[1],\n                    authorizationServerId: rest[2],\n                    enabled: rest[3]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const domain = params.domain;\n            const authorizationServerId = params.authorizationServerId;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/okta';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof authorizationServerId !== 'undefined') {\n                payload['authorizationServerId'] = authorizationServerId;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Paypal(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    secretKey: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const secretKey = params.secretKey;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/paypal';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof secretKey !== 'undefined') {\n                payload['secretKey'] = secretKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2PaypalSandbox(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    secretKey: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const secretKey = params.secretKey;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/paypalSandbox';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof secretKey !== 'undefined') {\n                payload['secretKey'] = secretKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Podio(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/podio';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Salesforce(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    customerKey: paramsOrFirst,\n                    customerSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const customerKey = params.customerKey;\n            const customerSecret = params.customerSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/salesforce';\n            const payload = {};\n            if (typeof customerKey !== 'undefined') {\n                payload['customerKey'] = customerKey;\n            }\n            if (typeof customerSecret !== 'undefined') {\n                payload['customerSecret'] = customerSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Slack(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/slack';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Spotify(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/spotify';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Stripe(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    apiSecretKey: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const apiSecretKey = params.apiSecretKey;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/stripe';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof apiSecretKey !== 'undefined') {\n                payload['apiSecretKey'] = apiSecretKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Tradeshift(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    oauth2ClientId: paramsOrFirst,\n                    oauth2ClientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const oauth2ClientId = params.oauth2ClientId;\n            const oauth2ClientSecret = params.oauth2ClientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/tradeshift';\n            const payload = {};\n            if (typeof oauth2ClientId !== 'undefined') {\n                payload['oauth2ClientId'] = oauth2ClientId;\n            }\n            if (typeof oauth2ClientSecret !== 'undefined') {\n                payload['oauth2ClientSecret'] = oauth2ClientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2TradeshiftSandbox(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    oauth2ClientId: paramsOrFirst,\n                    oauth2ClientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const oauth2ClientId = params.oauth2ClientId;\n            const oauth2ClientSecret = params.oauth2ClientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/tradeshiftBox';\n            const payload = {};\n            if (typeof oauth2ClientId !== 'undefined') {\n                payload['oauth2ClientId'] = oauth2ClientId;\n            }\n            if (typeof oauth2ClientSecret !== 'undefined') {\n                payload['oauth2ClientSecret'] = oauth2ClientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Twitch(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/twitch';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2WordPress(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/wordpress';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2X(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    customerKey: paramsOrFirst,\n                    secretKey: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const customerKey = params.customerKey;\n            const secretKey = params.secretKey;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/x';\n            const payload = {};\n            if (typeof customerKey !== 'undefined') {\n                payload['customerKey'] = customerKey;\n            }\n            if (typeof secretKey !== 'undefined') {\n                payload['secretKey'] = secretKey;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Yahoo(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/yahoo';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Yandex(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/yandex';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Zoho(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/zoho';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateOAuth2Zoom(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    clientId: paramsOrFirst,\n                    clientSecret: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const clientId = params.clientId;\n            const clientSecret = params.clientSecret;\n            const enabled = params.enabled;\n            const apiPath = '/project/oauth2/zoom';\n            const payload = {};\n            if (typeof clientId !== 'undefined') {\n                payload['clientId'] = clientId;\n            }\n            if (typeof clientSecret !== 'undefined') {\n                payload['clientSecret'] = clientSecret;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getOAuth2Provider(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('providerId' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    providerId: paramsOrFirst\n                };\n            }\n            const providerId = params.providerId;\n            if (typeof providerId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerId\"');\n            }\n            const apiPath = '/project/oauth2/{providerId}'.replace('{providerId}', providerId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listPlatforms(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/project/platforms';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createAndroidPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    applicationId: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const applicationId = params.applicationId;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof applicationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"applicationId\"');\n            }\n            const apiPath = '/project/platforms/android';\n            const payload = {};\n            if (typeof platformId !== 'undefined') {\n                payload['platformId'] = platformId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof applicationId !== 'undefined') {\n                payload['applicationId'] = applicationId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateAndroidPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    applicationId: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const applicationId = params.applicationId;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof applicationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"applicationId\"');\n            }\n            const apiPath = '/project/platforms/android/{platformId}'.replace('{platformId}', platformId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof applicationId !== 'undefined') {\n                payload['applicationId'] = applicationId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createApplePlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    bundleIdentifier: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const bundleIdentifier = params.bundleIdentifier;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof bundleIdentifier === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bundleIdentifier\"');\n            }\n            const apiPath = '/project/platforms/apple';\n            const payload = {};\n            if (typeof platformId !== 'undefined') {\n                payload['platformId'] = platformId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof bundleIdentifier !== 'undefined') {\n                payload['bundleIdentifier'] = bundleIdentifier;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateApplePlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    bundleIdentifier: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const bundleIdentifier = params.bundleIdentifier;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof bundleIdentifier === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bundleIdentifier\"');\n            }\n            const apiPath = '/project/platforms/apple/{platformId}'.replace('{platformId}', platformId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof bundleIdentifier !== 'undefined') {\n                payload['bundleIdentifier'] = bundleIdentifier;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createLinuxPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    packageName: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const packageName = params.packageName;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof packageName === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"packageName\"');\n            }\n            const apiPath = '/project/platforms/linux';\n            const payload = {};\n            if (typeof platformId !== 'undefined') {\n                payload['platformId'] = platformId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof packageName !== 'undefined') {\n                payload['packageName'] = packageName;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateLinuxPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    packageName: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const packageName = params.packageName;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof packageName === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"packageName\"');\n            }\n            const apiPath = '/project/platforms/linux/{platformId}'.replace('{platformId}', platformId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof packageName !== 'undefined') {\n                payload['packageName'] = packageName;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createWebPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    hostname: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const hostname = params.hostname;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof hostname === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"hostname\"');\n            }\n            const apiPath = '/project/platforms/web';\n            const payload = {};\n            if (typeof platformId !== 'undefined') {\n                payload['platformId'] = platformId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof hostname !== 'undefined') {\n                payload['hostname'] = hostname;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateWebPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    hostname: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const hostname = params.hostname;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof hostname === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"hostname\"');\n            }\n            const apiPath = '/project/platforms/web/{platformId}'.replace('{platformId}', platformId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof hostname !== 'undefined') {\n                payload['hostname'] = hostname;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createWindowsPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    packageIdentifierName: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const packageIdentifierName = params.packageIdentifierName;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof packageIdentifierName === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"packageIdentifierName\"');\n            }\n            const apiPath = '/project/platforms/windows';\n            const payload = {};\n            if (typeof platformId !== 'undefined') {\n                payload['platformId'] = platformId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof packageIdentifierName !== 'undefined') {\n                payload['packageIdentifierName'] = packageIdentifierName;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateWindowsPlatform(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst,\n                    name: rest[0],\n                    packageIdentifierName: rest[1]\n                };\n            }\n            const platformId = params.platformId;\n            const name = params.name;\n            const packageIdentifierName = params.packageIdentifierName;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof packageIdentifierName === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"packageIdentifierName\"');\n            }\n            const apiPath = '/project/platforms/windows/{platformId}'.replace('{platformId}', platformId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof packageIdentifierName !== 'undefined') {\n                payload['packageIdentifierName'] = packageIdentifierName;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        getPlatform(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst\n                };\n            }\n            const platformId = params.platformId;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            const apiPath = '/project/platforms/{platformId}'.replace('{platformId}', platformId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deletePlatform(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    platformId: paramsOrFirst\n                };\n            }\n            const platformId = params.platformId;\n            if (typeof platformId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"platformId\"');\n            }\n            const apiPath = '/project/platforms/{platformId}'.replace('{platformId}', platformId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listPolicies(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/project/policies';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateDenyAliasedEmailPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst\n                };\n            }\n            const enabled = params.enabled;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/policies/deny-aliased-email';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateDenyDisposableEmailPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst\n                };\n            }\n            const enabled = params.enabled;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/policies/deny-disposable-email';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateDenyFreeEmailPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst\n                };\n            }\n            const enabled = params.enabled;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/policies/deny-free-email';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateMembershipPrivacyPolicy(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    userEmail: rest[0],\n                    userPhone: rest[1],\n                    userName: rest[2],\n                    userMFA: rest[3],\n                    userAccessedAt: rest[4]\n                };\n            }\n            const userId = params.userId;\n            const userEmail = params.userEmail;\n            const userPhone = params.userPhone;\n            const userName = params.userName;\n            const userMFA = params.userMFA;\n            const userAccessedAt = params.userAccessedAt;\n            const apiPath = '/project/policies/membership-privacy';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof userEmail !== 'undefined') {\n                payload['userEmail'] = userEmail;\n            }\n            if (typeof userPhone !== 'undefined') {\n                payload['userPhone'] = userPhone;\n            }\n            if (typeof userName !== 'undefined') {\n                payload['userName'] = userName;\n            }\n            if (typeof userMFA !== 'undefined') {\n                payload['userMFA'] = userMFA;\n            }\n            if (typeof userAccessedAt !== 'undefined') {\n                payload['userAccessedAt'] = userAccessedAt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePasswordDictionaryPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst\n                };\n            }\n            const enabled = params.enabled;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/policies/password-dictionary';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePasswordHistoryPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    total: paramsOrFirst\n                };\n            }\n            const total = params.total;\n            if (typeof total === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"total\"');\n            }\n            const apiPath = '/project/policies/password-history';\n            const payload = {};\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePasswordPersonalDataPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst\n                };\n            }\n            const enabled = params.enabled;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/policies/password-personal-data';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePasswordStrengthPolicy(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    min: paramsOrFirst,\n                    uppercase: rest[0],\n                    lowercase: rest[1],\n                    number: rest[2],\n                    symbols: rest[3]\n                };\n            }\n            const min = params.min;\n            const uppercase = params.uppercase;\n            const lowercase = params.lowercase;\n            const number = params.number;\n            const symbols = params.symbols;\n            const apiPath = '/project/policies/password-strength';\n            const payload = {};\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof uppercase !== 'undefined') {\n                payload['uppercase'] = uppercase;\n            }\n            if (typeof lowercase !== 'undefined') {\n                payload['lowercase'] = lowercase;\n            }\n            if (typeof number !== 'undefined') {\n                payload['number'] = number;\n            }\n            if (typeof symbols !== 'undefined') {\n                payload['symbols'] = symbols;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateSessionAlertPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst\n                };\n            }\n            const enabled = params.enabled;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/policies/session-alert';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateSessionDurationPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    duration: paramsOrFirst\n                };\n            }\n            const duration = params.duration;\n            if (typeof duration === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"duration\"');\n            }\n            const apiPath = '/project/policies/session-duration';\n            const payload = {};\n            if (typeof duration !== 'undefined') {\n                payload['duration'] = duration;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateSessionInvalidationPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    enabled: paramsOrFirst\n                };\n            }\n            const enabled = params.enabled;\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/policies/session-invalidation';\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateSessionLimitPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    total: paramsOrFirst\n                };\n            }\n            const total = params.total;\n            if (typeof total === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"total\"');\n            }\n            const apiPath = '/project/policies/session-limit';\n            const payload = {};\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateUserLimitPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    total: paramsOrFirst\n                };\n            }\n            const total = params.total;\n            if (typeof total === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"total\"');\n            }\n            const apiPath = '/project/policies/user-limit';\n            const payload = {};\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getPolicy(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('policyId' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    policyId: paramsOrFirst\n                };\n            }\n            const policyId = params.policyId;\n            if (typeof policyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"policyId\"');\n            }\n            const apiPath = '/project/policies/{policyId}'.replace('{policyId}', policyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateProtocol(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('protocolId' in paramsOrFirst || 'enabled' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    protocolId: paramsOrFirst,\n                    enabled: rest[0]\n                };\n            }\n            const protocolId = params.protocolId;\n            const enabled = params.enabled;\n            if (typeof protocolId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"protocolId\"');\n            }\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/protocols/{protocolId}'.replace('{protocolId}', protocolId);\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateService(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('serviceId' in paramsOrFirst || 'enabled' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    serviceId: paramsOrFirst,\n                    enabled: rest[0]\n                };\n            }\n            const serviceId = params.serviceId;\n            const enabled = params.enabled;\n            if (typeof serviceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"serviceId\"');\n            }\n            if (typeof enabled === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"enabled\"');\n            }\n            const apiPath = '/project/services/{serviceId}'.replace('{serviceId}', serviceId);\n            const payload = {};\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateSMTP(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    host: paramsOrFirst,\n                    port: rest[0],\n                    username: rest[1],\n                    password: rest[2],\n                    senderEmail: rest[3],\n                    senderName: rest[4],\n                    replyToEmail: rest[5],\n                    replyToName: rest[6],\n                    secure: rest[7],\n                    enabled: rest[8]\n                };\n            }\n            const host = params.host;\n            const port = params.port;\n            const username = params.username;\n            const password = params.password;\n            const senderEmail = params.senderEmail;\n            const senderName = params.senderName;\n            const replyToEmail = params.replyToEmail;\n            const replyToName = params.replyToName;\n            const secure = params.secure;\n            const enabled = params.enabled;\n            const apiPath = '/project/smtp';\n            const payload = {};\n            if (typeof host !== 'undefined') {\n                payload['host'] = host;\n            }\n            if (typeof port !== 'undefined') {\n                payload['port'] = port;\n            }\n            if (typeof username !== 'undefined') {\n                payload['username'] = username;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof senderEmail !== 'undefined') {\n                payload['senderEmail'] = senderEmail;\n            }\n            if (typeof senderName !== 'undefined') {\n                payload['senderName'] = senderName;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            if (typeof secure !== 'undefined') {\n                payload['secure'] = secure;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createSMTPTest(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    emails: paramsOrFirst\n                };\n            }\n            const emails = params.emails;\n            if (typeof emails === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"emails\"');\n            }\n            const apiPath = '/project/smtp/tests';\n            const payload = {};\n            if (typeof emails !== 'undefined') {\n                payload['emails'] = emails;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listEmailTemplates(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/project/templates/email';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateEmailTemplate(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('templateId' in paramsOrFirst || 'locale' in paramsOrFirst || 'subject' in paramsOrFirst || 'message' in paramsOrFirst || 'senderName' in paramsOrFirst || 'senderEmail' in paramsOrFirst || 'replyToEmail' in paramsOrFirst || 'replyToName' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    templateId: paramsOrFirst,\n                    locale: rest[0],\n                    subject: rest[1],\n                    message: rest[2],\n                    senderName: rest[3],\n                    senderEmail: rest[4],\n                    replyToEmail: rest[5],\n                    replyToName: rest[6]\n                };\n            }\n            const templateId = params.templateId;\n            const locale = params.locale;\n            const subject = params.subject;\n            const message = params.message;\n            const senderName = params.senderName;\n            const senderEmail = params.senderEmail;\n            const replyToEmail = params.replyToEmail;\n            const replyToName = params.replyToName;\n            if (typeof templateId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"templateId\"');\n            }\n            const apiPath = '/project/templates/email';\n            const payload = {};\n            if (typeof templateId !== 'undefined') {\n                payload['templateId'] = templateId;\n            }\n            if (typeof locale !== 'undefined') {\n                payload['locale'] = locale;\n            }\n            if (typeof subject !== 'undefined') {\n                payload['subject'] = subject;\n            }\n            if (typeof message !== 'undefined') {\n                payload['message'] = message;\n            }\n            if (typeof senderName !== 'undefined') {\n                payload['senderName'] = senderName;\n            }\n            if (typeof senderEmail !== 'undefined') {\n                payload['senderEmail'] = senderEmail;\n            }\n            if (typeof replyToEmail !== 'undefined') {\n                payload['replyToEmail'] = replyToEmail;\n            }\n            if (typeof replyToName !== 'undefined') {\n                payload['replyToName'] = replyToName;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getEmailTemplate(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('templateId' in paramsOrFirst || 'locale' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    templateId: paramsOrFirst,\n                    locale: rest[0]\n                };\n            }\n            const templateId = params.templateId;\n            const locale = params.locale;\n            if (typeof templateId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"templateId\"');\n            }\n            const apiPath = '/project/templates/email/{templateId}'.replace('{templateId}', templateId);\n            const payload = {};\n            if (typeof locale !== 'undefined') {\n                payload['locale'] = locale;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    startDate: paramsOrFirst,\n                    endDate: rest[0],\n                    period: rest[1]\n                };\n            }\n            const startDate = params.startDate;\n            const endDate = params.endDate;\n            const period = params.period;\n            if (typeof startDate === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"startDate\"');\n            }\n            if (typeof endDate === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"endDate\"');\n            }\n            const apiPath = '/project/usage';\n            const payload = {};\n            if (typeof startDate !== 'undefined') {\n                payload['startDate'] = startDate;\n            }\n            if (typeof endDate !== 'undefined') {\n                payload['endDate'] = endDate;\n            }\n            if (typeof period !== 'undefined') {\n                payload['period'] = period;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listVariables(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/project/variables';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    variableId: paramsOrFirst,\n                    key: rest[0],\n                    value: rest[1],\n                    secret: rest[2]\n                };\n            }\n            const variableId = params.variableId;\n            const key = params.key;\n            const value = params.value;\n            const secret = params.secret;\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            const apiPath = '/project/variables';\n            const payload = {};\n            if (typeof variableId !== 'undefined') {\n                payload['variableId'] = variableId;\n            }\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getVariable(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    variableId: paramsOrFirst\n                };\n            }\n            const variableId = params.variableId;\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/project/variables/{variableId}'.replace('{variableId}', variableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    variableId: paramsOrFirst,\n                    key: rest[0],\n                    value: rest[1],\n                    secret: rest[2]\n                };\n            }\n            const variableId = params.variableId;\n            const key = params.key;\n            const value = params.value;\n            const secret = params.secret;\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/project/variables/{variableId}'.replace('{variableId}', variableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteVariable(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    variableId: paramsOrFirst\n                };\n            }\n            const variableId = params.variableId;\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/project/variables/{variableId}'.replace('{variableId}', variableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Projects {\n        constructor(client) {\n            this.client = client;\n        }\n        updateConsoleAccess(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst\n                };\n            }\n            const projectId = params.projectId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            const apiPath = '/projects/{projectId}/console-access'.replace('{projectId}', projectId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listDevKeys(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    queries: rest[0]\n                };\n            }\n            const projectId = params.projectId;\n            const queries = params.queries;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            const apiPath = '/projects/{projectId}/dev-keys'.replace('{projectId}', projectId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDevKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    name: rest[0],\n                    expire: rest[1]\n                };\n            }\n            const projectId = params.projectId;\n            const name = params.name;\n            const expire = params.expire;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof expire === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"expire\"');\n            }\n            const apiPath = '/projects/{projectId}/dev-keys'.replace('{projectId}', projectId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getDevKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    keyId: rest[0]\n                };\n            }\n            const projectId = params.projectId;\n            const keyId = params.keyId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/projects/{projectId}/dev-keys/{keyId}'.replace('{projectId}', projectId).replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateDevKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    keyId: rest[0],\n                    name: rest[1],\n                    expire: rest[2]\n                };\n            }\n            const projectId = params.projectId;\n            const keyId = params.keyId;\n            const name = params.name;\n            const expire = params.expire;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof expire === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"expire\"');\n            }\n            const apiPath = '/projects/{projectId}/dev-keys/{keyId}'.replace('{projectId}', projectId).replace('{keyId}', keyId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteDevKey(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    keyId: rest[0]\n                };\n            }\n            const projectId = params.projectId;\n            const keyId = params.keyId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof keyId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"keyId\"');\n            }\n            const apiPath = '/projects/{projectId}/dev-keys/{keyId}'.replace('{projectId}', projectId).replace('{keyId}', keyId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listSchedules(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const projectId = params.projectId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            const apiPath = '/projects/{projectId}/schedules'.replace('{projectId}', projectId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createSchedule(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    resourceType: rest[0],\n                    resourceId: rest[1],\n                    schedule: rest[2],\n                    active: rest[3],\n                    data: rest[4]\n                };\n            }\n            const projectId = params.projectId;\n            const resourceType = params.resourceType;\n            const resourceId = params.resourceId;\n            const schedule = params.schedule;\n            const active = params.active;\n            const data = params.data;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof resourceType === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceType\"');\n            }\n            if (typeof resourceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceId\"');\n            }\n            if (typeof schedule === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"schedule\"');\n            }\n            const apiPath = '/projects/{projectId}/schedules'.replace('{projectId}', projectId);\n            const payload = {};\n            if (typeof resourceType !== 'undefined') {\n                payload['resourceType'] = resourceType;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof schedule !== 'undefined') {\n                payload['schedule'] = schedule;\n            }\n            if (typeof active !== 'undefined') {\n                payload['active'] = active;\n            }\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getSchedule(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    scheduleId: rest[0]\n                };\n            }\n            const projectId = params.projectId;\n            const scheduleId = params.scheduleId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof scheduleId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"scheduleId\"');\n            }\n            const apiPath = '/projects/{projectId}/schedules/{scheduleId}'.replace('{projectId}', projectId).replace('{scheduleId}', scheduleId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateStatus(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    status: rest[0]\n                };\n            }\n            const projectId = params.projectId;\n            const status = params.status;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof status === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"status\"');\n            }\n            const apiPath = '/projects/{projectId}/status'.replace('{projectId}', projectId);\n            const payload = {};\n            if (typeof status !== 'undefined') {\n                payload['status'] = status;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateTeam(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    projectId: paramsOrFirst,\n                    teamId: rest[0]\n                };\n            }\n            const projectId = params.projectId;\n            const teamId = params.teamId;\n            if (typeof projectId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"projectId\"');\n            }\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/projects/{projectId}/team'.replace('{projectId}', projectId);\n            const payload = {};\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n    }\n\n    class Proxy {\n        constructor(client) {\n            this.client = client;\n        }\n        listRules(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/proxy/rules';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createAPIRule(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst\n                };\n            }\n            const domain = params.domain;\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            const apiPath = '/proxy/rules/api';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createFunctionRule(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst,\n                    functionId: rest[0],\n                    branch: rest[1]\n                };\n            }\n            const domain = params.domain;\n            const functionId = params.functionId;\n            const branch = params.branch;\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            if (typeof functionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"functionId\"');\n            }\n            const apiPath = '/proxy/rules/function';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof functionId !== 'undefined') {\n                payload['functionId'] = functionId;\n            }\n            if (typeof branch !== 'undefined') {\n                payload['branch'] = branch;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createRedirectRule(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst,\n                    url: rest[0],\n                    statusCode: rest[1],\n                    resourceId: rest[2],\n                    resourceType: rest[3]\n                };\n            }\n            const domain = params.domain;\n            const url = params.url;\n            const statusCode = params.statusCode;\n            const resourceId = params.resourceId;\n            const resourceType = params.resourceType;\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            if (typeof statusCode === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"statusCode\"');\n            }\n            if (typeof resourceId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceId\"');\n            }\n            if (typeof resourceType === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"resourceType\"');\n            }\n            const apiPath = '/proxy/rules/redirect';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            if (typeof statusCode !== 'undefined') {\n                payload['statusCode'] = statusCode;\n            }\n            if (typeof resourceId !== 'undefined') {\n                payload['resourceId'] = resourceId;\n            }\n            if (typeof resourceType !== 'undefined') {\n                payload['resourceType'] = resourceType;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createSiteRule(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    domain: paramsOrFirst,\n                    siteId: rest[0],\n                    branch: rest[1]\n                };\n            }\n            const domain = params.domain;\n            const siteId = params.siteId;\n            const branch = params.branch;\n            if (typeof domain === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"domain\"');\n            }\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            const apiPath = '/proxy/rules/site';\n            const payload = {};\n            if (typeof domain !== 'undefined') {\n                payload['domain'] = domain;\n            }\n            if (typeof siteId !== 'undefined') {\n                payload['siteId'] = siteId;\n            }\n            if (typeof branch !== 'undefined') {\n                payload['branch'] = branch;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getRule(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ruleId: paramsOrFirst\n                };\n            }\n            const ruleId = params.ruleId;\n            if (typeof ruleId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ruleId\"');\n            }\n            const apiPath = '/proxy/rules/{ruleId}'.replace('{ruleId}', ruleId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteRule(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ruleId: paramsOrFirst\n                };\n            }\n            const ruleId = params.ruleId;\n            if (typeof ruleId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ruleId\"');\n            }\n            const apiPath = '/proxy/rules/{ruleId}'.replace('{ruleId}', ruleId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateRuleStatus(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ruleId: paramsOrFirst\n                };\n            }\n            const ruleId = params.ruleId;\n            if (typeof ruleId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"ruleId\"');\n            }\n            const apiPath = '/proxy/rules/{ruleId}/status'.replace('{ruleId}', ruleId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n    }\n\n    class Advisor {\n        constructor(client) {\n            this.client = client;\n        }\n        listReports(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/reports';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getReport(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    reportId: paramsOrFirst\n                };\n            }\n            const reportId = params.reportId;\n            if (typeof reportId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reportId\"');\n            }\n            const apiPath = '/reports/{reportId}'.replace('{reportId}', reportId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteReport(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    reportId: paramsOrFirst\n                };\n            }\n            const reportId = params.reportId;\n            if (typeof reportId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reportId\"');\n            }\n            const apiPath = '/reports/{reportId}'.replace('{reportId}', reportId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listInsights(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    reportId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const reportId = params.reportId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof reportId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reportId\"');\n            }\n            const apiPath = '/reports/{reportId}/insights'.replace('{reportId}', reportId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getInsight(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    reportId: paramsOrFirst,\n                    insightId: rest[0]\n                };\n            }\n            const reportId = params.reportId;\n            const insightId = params.insightId;\n            if (typeof reportId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reportId\"');\n            }\n            if (typeof insightId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"insightId\"');\n            }\n            const apiPath = '/reports/{reportId}/insights/{insightId}'.replace('{reportId}', reportId).replace('{insightId}', insightId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Sites {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/sites';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    name: rest[0],\n                    framework: rest[1],\n                    buildRuntime: rest[2],\n                    enabled: rest[3],\n                    logging: rest[4],\n                    timeout: rest[5],\n                    installCommand: rest[6],\n                    buildCommand: rest[7],\n                    startCommand: rest[8],\n                    outputDirectory: rest[9],\n                    adapter: rest[10],\n                    installationId: rest[11],\n                    fallbackFile: rest[12],\n                    providerRepositoryId: rest[13],\n                    providerBranch: rest[14],\n                    providerSilentMode: rest[15],\n                    providerRootDirectory: rest[16],\n                    providerBranches: rest[17],\n                    providerPaths: rest[18],\n                    buildSpecification: rest[19],\n                    runtimeSpecification: rest[20],\n                    deploymentRetention: rest[21]\n                };\n            }\n            const siteId = params.siteId;\n            const name = params.name;\n            const framework = params.framework;\n            const buildRuntime = params.buildRuntime;\n            const enabled = params.enabled;\n            const logging = params.logging;\n            const timeout = params.timeout;\n            const installCommand = params.installCommand;\n            const buildCommand = params.buildCommand;\n            const startCommand = params.startCommand;\n            const outputDirectory = params.outputDirectory;\n            const adapter = params.adapter;\n            const installationId = params.installationId;\n            const fallbackFile = params.fallbackFile;\n            const providerRepositoryId = params.providerRepositoryId;\n            const providerBranch = params.providerBranch;\n            const providerSilentMode = params.providerSilentMode;\n            const providerRootDirectory = params.providerRootDirectory;\n            const providerBranches = params.providerBranches;\n            const providerPaths = params.providerPaths;\n            const buildSpecification = params.buildSpecification;\n            const runtimeSpecification = params.runtimeSpecification;\n            const deploymentRetention = params.deploymentRetention;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof framework === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"framework\"');\n            }\n            if (typeof buildRuntime === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"buildRuntime\"');\n            }\n            const apiPath = '/sites';\n            const payload = {};\n            if (typeof siteId !== 'undefined') {\n                payload['siteId'] = siteId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof framework !== 'undefined') {\n                payload['framework'] = framework;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof logging !== 'undefined') {\n                payload['logging'] = logging;\n            }\n            if (typeof timeout !== 'undefined') {\n                payload['timeout'] = timeout;\n            }\n            if (typeof installCommand !== 'undefined') {\n                payload['installCommand'] = installCommand;\n            }\n            if (typeof buildCommand !== 'undefined') {\n                payload['buildCommand'] = buildCommand;\n            }\n            if (typeof startCommand !== 'undefined') {\n                payload['startCommand'] = startCommand;\n            }\n            if (typeof outputDirectory !== 'undefined') {\n                payload['outputDirectory'] = outputDirectory;\n            }\n            if (typeof buildRuntime !== 'undefined') {\n                payload['buildRuntime'] = buildRuntime;\n            }\n            if (typeof adapter !== 'undefined') {\n                payload['adapter'] = adapter;\n            }\n            if (typeof installationId !== 'undefined') {\n                payload['installationId'] = installationId;\n            }\n            if (typeof fallbackFile !== 'undefined') {\n                payload['fallbackFile'] = fallbackFile;\n            }\n            if (typeof providerRepositoryId !== 'undefined') {\n                payload['providerRepositoryId'] = providerRepositoryId;\n            }\n            if (typeof providerBranch !== 'undefined') {\n                payload['providerBranch'] = providerBranch;\n            }\n            if (typeof providerSilentMode !== 'undefined') {\n                payload['providerSilentMode'] = providerSilentMode;\n            }\n            if (typeof providerRootDirectory !== 'undefined') {\n                payload['providerRootDirectory'] = providerRootDirectory;\n            }\n            if (typeof providerBranches !== 'undefined') {\n                payload['providerBranches'] = providerBranches;\n            }\n            if (typeof providerPaths !== 'undefined') {\n                payload['providerPaths'] = providerPaths;\n            }\n            if (typeof buildSpecification !== 'undefined') {\n                payload['buildSpecification'] = buildSpecification;\n            }\n            if (typeof runtimeSpecification !== 'undefined') {\n                payload['runtimeSpecification'] = runtimeSpecification;\n            }\n            if (typeof deploymentRetention !== 'undefined') {\n                payload['deploymentRetention'] = deploymentRetention;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        /**\n         * Get a list of all frameworks that are currently available on the server instance.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.FrameworkList>}\n         */\n        listFrameworks() {\n            const apiPath = '/sites/frameworks';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        /**\n         * List allowed site specifications for this instance.\n         *\n         * @throws {AppwriteException}\n         * @returns {Promise<Models.SpecificationList>}\n         */\n        listSpecifications() {\n            const apiPath = '/sites/specifications';\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listTemplates(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('frameworks' in paramsOrFirst || 'useCases' in paramsOrFirst || 'limit' in paramsOrFirst || 'offset' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    frameworks: paramsOrFirst,\n                    useCases: rest[0],\n                    limit: rest[1],\n                    offset: rest[2]\n                };\n            }\n            const frameworks = params.frameworks;\n            const useCases = params.useCases;\n            const limit = params.limit;\n            const offset = params.offset;\n            const apiPath = '/sites/templates';\n            const payload = {};\n            if (typeof frameworks !== 'undefined') {\n                payload['frameworks'] = frameworks;\n            }\n            if (typeof useCases !== 'undefined') {\n                payload['useCases'] = useCases;\n            }\n            if (typeof limit !== 'undefined') {\n                payload['limit'] = limit;\n            }\n            if (typeof offset !== 'undefined') {\n                payload['offset'] = offset;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getTemplate(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    templateId: paramsOrFirst\n                };\n            }\n            const templateId = params.templateId;\n            if (typeof templateId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"templateId\"');\n            }\n            const apiPath = '/sites/templates/{templateId}'.replace('{templateId}', templateId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/sites/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst\n                };\n            }\n            const siteId = params.siteId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            const apiPath = '/sites/{siteId}'.replace('{siteId}', siteId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    name: rest[0],\n                    framework: rest[1],\n                    enabled: rest[2],\n                    logging: rest[3],\n                    timeout: rest[4],\n                    installCommand: rest[5],\n                    buildCommand: rest[6],\n                    startCommand: rest[7],\n                    outputDirectory: rest[8],\n                    buildRuntime: rest[9],\n                    adapter: rest[10],\n                    fallbackFile: rest[11],\n                    installationId: rest[12],\n                    providerRepositoryId: rest[13],\n                    providerBranch: rest[14],\n                    providerSilentMode: rest[15],\n                    providerRootDirectory: rest[16],\n                    providerBranches: rest[17],\n                    providerPaths: rest[18],\n                    buildSpecification: rest[19],\n                    runtimeSpecification: rest[20],\n                    deploymentRetention: rest[21]\n                };\n            }\n            const siteId = params.siteId;\n            const name = params.name;\n            const framework = params.framework;\n            const enabled = params.enabled;\n            const logging = params.logging;\n            const timeout = params.timeout;\n            const installCommand = params.installCommand;\n            const buildCommand = params.buildCommand;\n            const startCommand = params.startCommand;\n            const outputDirectory = params.outputDirectory;\n            const buildRuntime = params.buildRuntime;\n            const adapter = params.adapter;\n            const fallbackFile = params.fallbackFile;\n            const installationId = params.installationId;\n            const providerRepositoryId = params.providerRepositoryId;\n            const providerBranch = params.providerBranch;\n            const providerSilentMode = params.providerSilentMode;\n            const providerRootDirectory = params.providerRootDirectory;\n            const providerBranches = params.providerBranches;\n            const providerPaths = params.providerPaths;\n            const buildSpecification = params.buildSpecification;\n            const runtimeSpecification = params.runtimeSpecification;\n            const deploymentRetention = params.deploymentRetention;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof framework === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"framework\"');\n            }\n            const apiPath = '/sites/{siteId}'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof framework !== 'undefined') {\n                payload['framework'] = framework;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof logging !== 'undefined') {\n                payload['logging'] = logging;\n            }\n            if (typeof timeout !== 'undefined') {\n                payload['timeout'] = timeout;\n            }\n            if (typeof installCommand !== 'undefined') {\n                payload['installCommand'] = installCommand;\n            }\n            if (typeof buildCommand !== 'undefined') {\n                payload['buildCommand'] = buildCommand;\n            }\n            if (typeof startCommand !== 'undefined') {\n                payload['startCommand'] = startCommand;\n            }\n            if (typeof outputDirectory !== 'undefined') {\n                payload['outputDirectory'] = outputDirectory;\n            }\n            if (typeof buildRuntime !== 'undefined') {\n                payload['buildRuntime'] = buildRuntime;\n            }\n            if (typeof adapter !== 'undefined') {\n                payload['adapter'] = adapter;\n            }\n            if (typeof fallbackFile !== 'undefined') {\n                payload['fallbackFile'] = fallbackFile;\n            }\n            if (typeof installationId !== 'undefined') {\n                payload['installationId'] = installationId;\n            }\n            if (typeof providerRepositoryId !== 'undefined') {\n                payload['providerRepositoryId'] = providerRepositoryId;\n            }\n            if (typeof providerBranch !== 'undefined') {\n                payload['providerBranch'] = providerBranch;\n            }\n            if (typeof providerSilentMode !== 'undefined') {\n                payload['providerSilentMode'] = providerSilentMode;\n            }\n            if (typeof providerRootDirectory !== 'undefined') {\n                payload['providerRootDirectory'] = providerRootDirectory;\n            }\n            if (typeof providerBranches !== 'undefined') {\n                payload['providerBranches'] = providerBranches;\n            }\n            if (typeof providerPaths !== 'undefined') {\n                payload['providerPaths'] = providerPaths;\n            }\n            if (typeof buildSpecification !== 'undefined') {\n                payload['buildSpecification'] = buildSpecification;\n            }\n            if (typeof runtimeSpecification !== 'undefined') {\n                payload['runtimeSpecification'] = runtimeSpecification;\n            }\n            if (typeof deploymentRetention !== 'undefined') {\n                payload['deploymentRetention'] = deploymentRetention;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst\n                };\n            }\n            const siteId = params.siteId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            const apiPath = '/sites/{siteId}'.replace('{siteId}', siteId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateSiteDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const deploymentId = params.deploymentId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/sites/{siteId}/deployment'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof deploymentId !== 'undefined') {\n                payload['deploymentId'] = deploymentId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listDeployments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const siteId = params.siteId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDeployment(paramsOrFirst, ...rest) {\n            let params;\n            let onProgress;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n                onProgress = paramsOrFirst === null || paramsOrFirst === void 0 ? void 0 : paramsOrFirst.onProgress;\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    code: rest[0],\n                    installCommand: rest[1],\n                    buildCommand: rest[2],\n                    outputDirectory: rest[3],\n                    activate: rest[4]\n                };\n                onProgress = rest[5];\n            }\n            const siteId = params.siteId;\n            const code = params.code;\n            const installCommand = params.installCommand;\n            const buildCommand = params.buildCommand;\n            const outputDirectory = params.outputDirectory;\n            const activate = params.activate;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof code === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"code\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof installCommand !== 'undefined') {\n                payload['installCommand'] = installCommand;\n            }\n            if (typeof buildCommand !== 'undefined') {\n                payload['buildCommand'] = buildCommand;\n            }\n            if (typeof outputDirectory !== 'undefined') {\n                payload['outputDirectory'] = outputDirectory;\n            }\n            if (typeof code !== 'undefined') {\n                payload['code'] = code;\n            }\n            if (typeof activate !== 'undefined') {\n                payload['activate'] = activate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'multipart/form-data',\n                'accept': 'application/json',\n            };\n            return this.client.chunkedUpload('post', uri, apiHeaders, payload, onProgress);\n        }\n        createDuplicateDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const deploymentId = params.deploymentId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments/duplicate'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof deploymentId !== 'undefined') {\n                payload['deploymentId'] = deploymentId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createTemplateDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    repository: rest[0],\n                    owner: rest[1],\n                    rootDirectory: rest[2],\n                    type: rest[3],\n                    reference: rest[4],\n                    activate: rest[5]\n                };\n            }\n            const siteId = params.siteId;\n            const repository = params.repository;\n            const owner = params.owner;\n            const rootDirectory = params.rootDirectory;\n            const type = params.type;\n            const reference = params.reference;\n            const activate = params.activate;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof repository === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"repository\"');\n            }\n            if (typeof owner === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"owner\"');\n            }\n            if (typeof rootDirectory === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rootDirectory\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof reference === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reference\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments/template'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof repository !== 'undefined') {\n                payload['repository'] = repository;\n            }\n            if (typeof owner !== 'undefined') {\n                payload['owner'] = owner;\n            }\n            if (typeof rootDirectory !== 'undefined') {\n                payload['rootDirectory'] = rootDirectory;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof reference !== 'undefined') {\n                payload['reference'] = reference;\n            }\n            if (typeof activate !== 'undefined') {\n                payload['activate'] = activate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createVcsDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    type: rest[0],\n                    reference: rest[1],\n                    activate: rest[2]\n                };\n            }\n            const siteId = params.siteId;\n            const type = params.type;\n            const reference = params.reference;\n            const activate = params.activate;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof reference === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"reference\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments/vcs'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof reference !== 'undefined') {\n                payload['reference'] = reference;\n            }\n            if (typeof activate !== 'undefined') {\n                payload['activate'] = activate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const deploymentId = params.deploymentId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments/{deploymentId}'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteDeployment(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const deploymentId = params.deploymentId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments/{deploymentId}'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getDeploymentDownload(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    deploymentId: rest[0],\n                    type: rest[1]\n                };\n            }\n            const siteId = params.siteId;\n            const deploymentId = params.deploymentId;\n            const type = params.type;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments/{deploymentId}/download'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        updateDeploymentStatus(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    deploymentId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const deploymentId = params.deploymentId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof deploymentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"deploymentId\"');\n            }\n            const apiPath = '/sites/{siteId}/deployments/{deploymentId}/status'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const siteId = params.siteId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            const apiPath = '/sites/{siteId}/logs'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getLog(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    logId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const logId = params.logId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof logId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"logId\"');\n            }\n            const apiPath = '/sites/{siteId}/logs/{logId}'.replace('{siteId}', siteId).replace('{logId}', logId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteLog(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    logId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const logId = params.logId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof logId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"logId\"');\n            }\n            const apiPath = '/sites/{siteId}/logs/{logId}'.replace('{siteId}', siteId).replace('{logId}', logId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    range: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const range = params.range;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            const apiPath = '/sites/{siteId}/usage'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listVariables(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const siteId = params.siteId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            const apiPath = '/sites/{siteId}/variables'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    variableId: rest[0],\n                    key: rest[1],\n                    value: rest[2],\n                    secret: rest[3]\n                };\n            }\n            const siteId = params.siteId;\n            const variableId = params.variableId;\n            const key = params.key;\n            const value = params.value;\n            const secret = params.secret;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof value === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"value\"');\n            }\n            const apiPath = '/sites/{siteId}/variables'.replace('{siteId}', siteId);\n            const payload = {};\n            if (typeof variableId !== 'undefined') {\n                payload['variableId'] = variableId;\n            }\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    variableId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const variableId = params.variableId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/sites/{siteId}/variables/{variableId}'.replace('{siteId}', siteId).replace('{variableId}', variableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    variableId: rest[0],\n                    key: rest[1],\n                    value: rest[2],\n                    secret: rest[3]\n                };\n            }\n            const siteId = params.siteId;\n            const variableId = params.variableId;\n            const key = params.key;\n            const value = params.value;\n            const secret = params.secret;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/sites/{siteId}/variables/{variableId}'.replace('{siteId}', siteId).replace('{variableId}', variableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteVariable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    siteId: paramsOrFirst,\n                    variableId: rest[0]\n                };\n            }\n            const siteId = params.siteId;\n            const variableId = params.variableId;\n            if (typeof siteId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"siteId\"');\n            }\n            if (typeof variableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"variableId\"');\n            }\n            const apiPath = '/sites/{siteId}/variables/{variableId}'.replace('{siteId}', siteId).replace('{variableId}', variableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Storage {\n        constructor(client) {\n            this.client = client;\n        }\n        listBuckets(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/storage/buckets';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createBucket(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    name: rest[0],\n                    permissions: rest[1],\n                    fileSecurity: rest[2],\n                    enabled: rest[3],\n                    maximumFileSize: rest[4],\n                    allowedFileExtensions: rest[5],\n                    compression: rest[6],\n                    encryption: rest[7],\n                    antivirus: rest[8],\n                    transformations: rest[9]\n                };\n            }\n            const bucketId = params.bucketId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const fileSecurity = params.fileSecurity;\n            const enabled = params.enabled;\n            const maximumFileSize = params.maximumFileSize;\n            const allowedFileExtensions = params.allowedFileExtensions;\n            const compression = params.compression;\n            const encryption = params.encryption;\n            const antivirus = params.antivirus;\n            const transformations = params.transformations;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/storage/buckets';\n            const payload = {};\n            if (typeof bucketId !== 'undefined') {\n                payload['bucketId'] = bucketId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof fileSecurity !== 'undefined') {\n                payload['fileSecurity'] = fileSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof maximumFileSize !== 'undefined') {\n                payload['maximumFileSize'] = maximumFileSize;\n            }\n            if (typeof allowedFileExtensions !== 'undefined') {\n                payload['allowedFileExtensions'] = allowedFileExtensions;\n            }\n            if (typeof compression !== 'undefined') {\n                payload['compression'] = compression;\n            }\n            if (typeof encryption !== 'undefined') {\n                payload['encryption'] = encryption;\n            }\n            if (typeof antivirus !== 'undefined') {\n                payload['antivirus'] = antivirus;\n            }\n            if (typeof transformations !== 'undefined') {\n                payload['transformations'] = transformations;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getBucket(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst\n                };\n            }\n            const bucketId = params.bucketId;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}'.replace('{bucketId}', bucketId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateBucket(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    name: rest[0],\n                    permissions: rest[1],\n                    fileSecurity: rest[2],\n                    enabled: rest[3],\n                    maximumFileSize: rest[4],\n                    allowedFileExtensions: rest[5],\n                    compression: rest[6],\n                    encryption: rest[7],\n                    antivirus: rest[8],\n                    transformations: rest[9]\n                };\n            }\n            const bucketId = params.bucketId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const fileSecurity = params.fileSecurity;\n            const enabled = params.enabled;\n            const maximumFileSize = params.maximumFileSize;\n            const allowedFileExtensions = params.allowedFileExtensions;\n            const compression = params.compression;\n            const encryption = params.encryption;\n            const antivirus = params.antivirus;\n            const transformations = params.transformations;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}'.replace('{bucketId}', bucketId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof fileSecurity !== 'undefined') {\n                payload['fileSecurity'] = fileSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof maximumFileSize !== 'undefined') {\n                payload['maximumFileSize'] = maximumFileSize;\n            }\n            if (typeof allowedFileExtensions !== 'undefined') {\n                payload['allowedFileExtensions'] = allowedFileExtensions;\n            }\n            if (typeof compression !== 'undefined') {\n                payload['compression'] = compression;\n            }\n            if (typeof encryption !== 'undefined') {\n                payload['encryption'] = encryption;\n            }\n            if (typeof antivirus !== 'undefined') {\n                payload['antivirus'] = antivirus;\n            }\n            if (typeof transformations !== 'undefined') {\n                payload['transformations'] = transformations;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteBucket(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst\n                };\n            }\n            const bucketId = params.bucketId;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}'.replace('{bucketId}', bucketId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listFiles(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const bucketId = params.bucketId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files'.replace('{bucketId}', bucketId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createFile(paramsOrFirst, ...rest) {\n            let params;\n            let onProgress;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n                onProgress = paramsOrFirst === null || paramsOrFirst === void 0 ? void 0 : paramsOrFirst.onProgress;\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    file: rest[1],\n                    permissions: rest[2]\n                };\n                onProgress = rest[3];\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const file = params.file;\n            const permissions = params.permissions;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            if (typeof file === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"file\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files'.replace('{bucketId}', bucketId);\n            const payload = {};\n            if (typeof fileId !== 'undefined') {\n                payload['fileId'] = fileId;\n            }\n            if (typeof file !== 'undefined') {\n                payload['file'] = file;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'multipart/form-data',\n                'accept': 'application/json',\n            };\n            return this.client.chunkedUpload('post', uri, apiHeaders, payload, onProgress);\n        }\n        getFile(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files/{fileId}'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateFile(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    name: rest[1],\n                    permissions: rest[2]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const name = params.name;\n            const permissions = params.permissions;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files/{fileId}'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteFile(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files/{fileId}'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getFileDownload(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    token: rest[1]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const token = params.token;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/download'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            if (typeof token !== 'undefined') {\n                payload['token'] = token;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getFilePreview(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    width: rest[1],\n                    height: rest[2],\n                    gravity: rest[3],\n                    quality: rest[4],\n                    borderWidth: rest[5],\n                    borderColor: rest[6],\n                    borderRadius: rest[7],\n                    opacity: rest[8],\n                    rotation: rest[9],\n                    background: rest[10],\n                    output: rest[11],\n                    token: rest[12]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const width = params.width;\n            const height = params.height;\n            const gravity = params.gravity;\n            const quality = params.quality;\n            const borderWidth = params.borderWidth;\n            const borderColor = params.borderColor;\n            const borderRadius = params.borderRadius;\n            const opacity = params.opacity;\n            const rotation = params.rotation;\n            const background = params.background;\n            const output = params.output;\n            const token = params.token;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/preview'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            if (typeof width !== 'undefined') {\n                payload['width'] = width;\n            }\n            if (typeof height !== 'undefined') {\n                payload['height'] = height;\n            }\n            if (typeof gravity !== 'undefined') {\n                payload['gravity'] = gravity;\n            }\n            if (typeof quality !== 'undefined') {\n                payload['quality'] = quality;\n            }\n            if (typeof borderWidth !== 'undefined') {\n                payload['borderWidth'] = borderWidth;\n            }\n            if (typeof borderColor !== 'undefined') {\n                payload['borderColor'] = borderColor;\n            }\n            if (typeof borderRadius !== 'undefined') {\n                payload['borderRadius'] = borderRadius;\n            }\n            if (typeof opacity !== 'undefined') {\n                payload['opacity'] = opacity;\n            }\n            if (typeof rotation !== 'undefined') {\n                payload['rotation'] = rotation;\n            }\n            if (typeof background !== 'undefined') {\n                payload['background'] = background;\n            }\n            if (typeof output !== 'undefined') {\n                payload['output'] = output;\n            }\n            if (typeof token !== 'undefined') {\n                payload['token'] = token;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getFileView(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    token: rest[1]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const token = params.token;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/view'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            if (typeof token !== 'undefined') {\n                payload['token'] = token;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            ({\n                'X-Appwrite-Project': this.client.config.project});\n            payload['project'] = this.client.config.project;\n            payload['impersonateuserid'] = this.client.config.impersonateuserid;\n            for (const [key, value] of Object.entries(Service.flatten(payload))) {\n                uri.searchParams.append(key, value);\n            }\n            return uri.toString();\n        }\n        getUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/storage/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getBucketUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    range: rest[0]\n                };\n            }\n            const bucketId = params.bucketId;\n            const range = params.range;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            const apiPath = '/storage/{bucketId}/usage'.replace('{bucketId}', bucketId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class TablesDB {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/tablesdb';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    dedicatedDatabaseId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const dedicatedDatabaseId = params.dedicatedDatabaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/tablesdb';\n            const payload = {};\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof dedicatedDatabaseId !== 'undefined') {\n                payload['dedicatedDatabaseId'] = dedicatedDatabaseId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listTransactions(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/tablesdb/transactions';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTransaction(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ttl: paramsOrFirst\n                };\n            }\n            const ttl = params.ttl;\n            const apiPath = '/tablesdb/transactions';\n            const payload = {};\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/tablesdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateTransaction(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst,\n                    commit: rest[0],\n                    rollback: rest[1]\n                };\n            }\n            const transactionId = params.transactionId;\n            const commit = params.commit;\n            const rollback = params.rollback;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/tablesdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            if (typeof commit !== 'undefined') {\n                payload['commit'] = commit;\n            }\n            if (typeof rollback !== 'undefined') {\n                payload['rollback'] = rollback;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/tablesdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createOperations(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst,\n                    operations: rest[0]\n                };\n            }\n            const transactionId = params.transactionId;\n            const operations = params.operations;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/tablesdb/transactions/{transactionId}/operations'.replace('{transactionId}', transactionId);\n            const payload = {};\n            if (typeof operations !== 'undefined') {\n                payload['operations'] = operations;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/tablesdb/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listTables(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    name: rest[1],\n                    permissions: rest[2],\n                    rowSecurity: rest[3],\n                    enabled: rest[4],\n                    columns: rest[5],\n                    indexes: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const rowSecurity = params.rowSecurity;\n            const enabled = params.enabled;\n            const columns = params.columns;\n            const indexes = params.indexes;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof tableId !== 'undefined') {\n                payload['tableId'] = tableId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof rowSecurity !== 'undefined') {\n                payload['rowSecurity'] = rowSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof columns !== 'undefined') {\n                payload['columns'] = columns;\n            }\n            if (typeof indexes !== 'undefined') {\n                payload['indexes'] = indexes;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getTable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateTable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    name: rest[1],\n                    permissions: rest[2],\n                    rowSecurity: rest[3],\n                    enabled: rest[4],\n                    purge: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const name = params.name;\n            const permissions = params.permissions;\n            const rowSecurity = params.rowSecurity;\n            const enabled = params.enabled;\n            const purge = params.purge;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof rowSecurity !== 'undefined') {\n                payload['rowSecurity'] = rowSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof purge !== 'undefined') {\n                payload['purge'] = purge;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteTable(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listColumns(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    queries: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createBigIntColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    min: rest[3],\n                    max: rest[4],\n                    xdefault: rest[5],\n                    array: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const min = params.min;\n            const max = params.max;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/bigint'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateBigIntColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    min: rest[4],\n                    max: rest[5],\n                    newKey: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const min = params.min;\n            const max = params.max;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/bigint/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createBooleanColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/boolean'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateBooleanColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/boolean/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createDatetimeColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/datetime'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateDatetimeColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/datetime/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createEmailColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/email'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateEmailColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/email/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createEnumColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    elements: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    array: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const elements = params.elements;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof elements === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"elements\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/enum'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof elements !== 'undefined') {\n                payload['elements'] = elements;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateEnumColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    elements: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    newKey: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const elements = params.elements;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof elements === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"elements\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/enum/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof elements !== 'undefined') {\n                payload['elements'] = elements;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createFloatColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    min: rest[3],\n                    max: rest[4],\n                    xdefault: rest[5],\n                    array: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const min = params.min;\n            const max = params.max;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/float'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateFloatColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    min: rest[4],\n                    max: rest[5],\n                    newKey: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const min = params.min;\n            const max = params.max;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/float/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createIntegerColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    min: rest[3],\n                    max: rest[4],\n                    xdefault: rest[5],\n                    array: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const min = params.min;\n            const max = params.max;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/integer'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateIntegerColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    min: rest[4],\n                    max: rest[5],\n                    newKey: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const min = params.min;\n            const max = params.max;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/integer/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createIpColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/ip'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateIpColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/ip/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createLineColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/line'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateLineColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/line/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createLongtextColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4],\n                    encrypt: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/longtext'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateLongtextColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/longtext/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createMediumtextColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4],\n                    encrypt: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/mediumtext'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateMediumtextColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/mediumtext/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createPointColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/point'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePointColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/point/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createPolygonColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/polygon'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updatePolygonColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/polygon/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createRelationshipColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    relatedTableId: rest[1],\n                    type: rest[2],\n                    twoWay: rest[3],\n                    key: rest[4],\n                    twoWayKey: rest[5],\n                    onDelete: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const relatedTableId = params.relatedTableId;\n            const type = params.type;\n            const twoWay = params.twoWay;\n            const key = params.key;\n            const twoWayKey = params.twoWayKey;\n            const onDelete = params.onDelete;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof relatedTableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"relatedTableId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/relationship'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof relatedTableId !== 'undefined') {\n                payload['relatedTableId'] = relatedTableId;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof twoWay !== 'undefined') {\n                payload['twoWay'] = twoWay;\n            }\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof twoWayKey !== 'undefined') {\n                payload['twoWayKey'] = twoWayKey;\n            }\n            if (typeof onDelete !== 'undefined') {\n                payload['onDelete'] = onDelete;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createStringColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    size: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    array: rest[5],\n                    encrypt: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const size = params.size;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof size === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"size\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/string'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateStringColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    size: rest[4],\n                    newKey: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const size = params.size;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/string/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createTextColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4],\n                    encrypt: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/text'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateTextColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/text/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createUrlColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    array: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/url'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateUrlColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    newKey: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/url/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createVarcharColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    size: rest[2],\n                    required: rest[3],\n                    xdefault: rest[4],\n                    array: rest[5],\n                    encrypt: rest[6]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const size = params.size;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const array = params.array;\n            const encrypt = params.encrypt;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof size === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"size\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/varchar'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof array !== 'undefined') {\n                payload['array'] = array;\n            }\n            if (typeof encrypt !== 'undefined') {\n                payload['encrypt'] = encrypt;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateVarcharColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    required: rest[2],\n                    xdefault: rest[3],\n                    size: rest[4],\n                    newKey: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const required = params.required;\n            const xdefault = params.xdefault;\n            const size = params.size;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof required === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"required\"');\n            }\n            if (typeof xdefault === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xdefault\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/varchar/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof required !== 'undefined') {\n                payload['required'] = required;\n            }\n            if (typeof xdefault !== 'undefined') {\n                payload['default'] = xdefault;\n            }\n            if (typeof size !== 'undefined') {\n                payload['size'] = size;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateRelationshipColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    onDelete: rest[2],\n                    newKey: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const onDelete = params.onDelete;\n            const newKey = params.newKey;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/{key}/relationship'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            if (typeof onDelete !== 'undefined') {\n                payload['onDelete'] = onDelete;\n            }\n            if (typeof newKey !== 'undefined') {\n                payload['newKey'] = newKey;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listIndexes(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    queries: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/indexes'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1],\n                    type: rest[2],\n                    columns: rest[3],\n                    orders: rest[4],\n                    lengths: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            const type = params.type;\n            const columns = params.columns;\n            const orders = params.orders;\n            const lengths = params.lengths;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof columns === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"columns\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/indexes'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof columns !== 'undefined') {\n                payload['columns'] = columns;\n            }\n            if (typeof orders !== 'undefined') {\n                payload['orders'] = orders;\n            }\n            if (typeof lengths !== 'undefined') {\n                payload['lengths'] = lengths;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listTableLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    queries: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const queries = params.queries;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/logs'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listRows(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2],\n                    total: rest[3],\n                    ttl: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            const total = params.total;\n            const ttl = params.ttl;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createRow(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            if (typeof data === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"data\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof rowId !== 'undefined') {\n                payload['rowId'] = rowId;\n            }\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createRows(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rows: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rows = params.rows;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rows === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rows\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof rows !== 'undefined') {\n                payload['rows'] = rows;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        upsertRows(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rows: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rows = params.rows;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rows === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rows\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof rows !== 'undefined') {\n                payload['rows'] = rows;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateRows(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    data: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const data = params.data;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteRows(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getRow(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        upsertRow(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateRow(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteRow(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId);\n            const payload = {};\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listRowLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    queries: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const queries = params.queries;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/logs'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        decrementRowColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    column: rest[2],\n                    value: rest[3],\n                    min: rest[4],\n                    transactionId: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const column = params.column;\n            const value = params.value;\n            const min = params.min;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            if (typeof column === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"column\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId).replace('{column}', column);\n            const payload = {};\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof min !== 'undefined') {\n                payload['min'] = min;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        incrementRowColumn(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    rowId: rest[1],\n                    column: rest[2],\n                    value: rest[3],\n                    max: rest[4],\n                    transactionId: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const rowId = params.rowId;\n            const column = params.column;\n            const value = params.value;\n            const max = params.max;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            if (typeof rowId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"rowId\"');\n            }\n            if (typeof column === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"column\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment'.replace('{databaseId}', databaseId).replace('{tableId}', tableId).replace('{rowId}', rowId).replace('{column}', column);\n            const payload = {};\n            if (typeof value !== 'undefined') {\n                payload['value'] = value;\n            }\n            if (typeof max !== 'undefined') {\n                payload['max'] = max;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getTableUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    tableId: rest[0],\n                    range: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const tableId = params.tableId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof tableId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tableId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/usage'.replace('{databaseId}', databaseId).replace('{tableId}', tableId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    range: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/tablesdb/{databaseId}/usage'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Teams {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/teams';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    name: rest[0],\n                    roles: rest[1]\n                };\n            }\n            const teamId = params.teamId;\n            const name = params.name;\n            const roles = params.roles;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/teams';\n            const payload = {};\n            if (typeof teamId !== 'undefined') {\n                payload['teamId'] = teamId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof roles !== 'undefined') {\n                payload['roles'] = roles;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst\n                };\n            }\n            const teamId = params.teamId;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateName(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    name: rest[0]\n                };\n            }\n            const teamId = params.teamId;\n            const name = params.name;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst\n                };\n            }\n            const teamId = params.teamId;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const teamId = params.teamId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/teams/{teamId}/logs'.replace('{teamId}', teamId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listMemberships(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const teamId = params.teamId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/teams/{teamId}/memberships'.replace('{teamId}', teamId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createMembership(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    roles: rest[0],\n                    email: rest[1],\n                    userId: rest[2],\n                    phone: rest[3],\n                    url: rest[4],\n                    name: rest[5]\n                };\n            }\n            const teamId = params.teamId;\n            const roles = params.roles;\n            const email = params.email;\n            const userId = params.userId;\n            const phone = params.phone;\n            const url = params.url;\n            const name = params.name;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof roles === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"roles\"');\n            }\n            const apiPath = '/teams/{teamId}/memberships'.replace('{teamId}', teamId);\n            const payload = {};\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof phone !== 'undefined') {\n                payload['phone'] = phone;\n            }\n            if (typeof roles !== 'undefined') {\n                payload['roles'] = roles;\n            }\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getMembership(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    membershipId: rest[0]\n                };\n            }\n            const teamId = params.teamId;\n            const membershipId = params.membershipId;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof membershipId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"membershipId\"');\n            }\n            const apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateMembership(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    membershipId: rest[0],\n                    roles: rest[1]\n                };\n            }\n            const teamId = params.teamId;\n            const membershipId = params.membershipId;\n            const roles = params.roles;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof membershipId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"membershipId\"');\n            }\n            if (typeof roles === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"roles\"');\n            }\n            const apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);\n            const payload = {};\n            if (typeof roles !== 'undefined') {\n                payload['roles'] = roles;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteMembership(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    membershipId: rest[0]\n                };\n            }\n            const teamId = params.teamId;\n            const membershipId = params.membershipId;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof membershipId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"membershipId\"');\n            }\n            const apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateMembershipStatus(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    membershipId: rest[0],\n                    userId: rest[1],\n                    secret: rest[2]\n                };\n            }\n            const teamId = params.teamId;\n            const membershipId = params.membershipId;\n            const userId = params.userId;\n            const secret = params.secret;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof membershipId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"membershipId\"');\n            }\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof secret === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"secret\"');\n            }\n            const apiPath = '/teams/{teamId}/memberships/{membershipId}/status'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getPrefs(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst\n                };\n            }\n            const teamId = params.teamId;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            const apiPath = '/teams/{teamId}/prefs'.replace('{teamId}', teamId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updatePrefs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    teamId: paramsOrFirst,\n                    prefs: rest[0]\n                };\n            }\n            const teamId = params.teamId;\n            const prefs = params.prefs;\n            if (typeof teamId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"teamId\"');\n            }\n            if (typeof prefs === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"prefs\"');\n            }\n            const apiPath = '/teams/{teamId}/prefs'.replace('{teamId}', teamId);\n            const payload = {};\n            if (typeof prefs !== 'undefined') {\n                payload['prefs'] = prefs;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n    }\n\n    class Tokens {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    queries: rest[1],\n                    total: rest[2]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/tokens/buckets/{bucketId}/files/{fileId}'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createFileToken(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    bucketId: paramsOrFirst,\n                    fileId: rest[0],\n                    expire: rest[1]\n                };\n            }\n            const bucketId = params.bucketId;\n            const fileId = params.fileId;\n            const expire = params.expire;\n            if (typeof bucketId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"bucketId\"');\n            }\n            if (typeof fileId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"fileId\"');\n            }\n            const apiPath = '/tokens/buckets/{bucketId}/files/{fileId}'.replace('{bucketId}', bucketId).replace('{fileId}', fileId);\n            const payload = {};\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    tokenId: paramsOrFirst\n                };\n            }\n            const tokenId = params.tokenId;\n            if (typeof tokenId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tokenId\"');\n            }\n            const apiPath = '/tokens/{tokenId}'.replace('{tokenId}', tokenId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    tokenId: paramsOrFirst,\n                    expire: rest[0]\n                };\n            }\n            const tokenId = params.tokenId;\n            const expire = params.expire;\n            if (typeof tokenId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tokenId\"');\n            }\n            const apiPath = '/tokens/{tokenId}'.replace('{tokenId}', tokenId);\n            const payload = {};\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    tokenId: paramsOrFirst\n                };\n            }\n            const tokenId = params.tokenId;\n            if (typeof tokenId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"tokenId\"');\n            }\n            const apiPath = '/tokens/{tokenId}'.replace('{tokenId}', tokenId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class Usage {\n        constructor(client) {\n            this.client = client;\n        }\n        listEvents(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/usage/events';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listGauges(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/usage/gauges';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Users {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/users';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    phone: rest[1],\n                    password: rest[2],\n                    name: rest[3]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const phone = params.phone;\n            const password = params.password;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof phone !== 'undefined') {\n                payload['phone'] = phone;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createArgon2User(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    name: rest[2]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/users/argon2';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createBcryptUser(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    name: rest[2]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/users/bcrypt';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listIdentities(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/users/identities';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteIdentity(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    identityId: paramsOrFirst\n                };\n            }\n            const identityId = params.identityId;\n            if (typeof identityId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"identityId\"');\n            }\n            const apiPath = '/users/identities/{identityId}'.replace('{identityId}', identityId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createMD5User(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    name: rest[2]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/users/md5';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createPHPassUser(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    name: rest[2]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/users/phpass';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createScryptUser(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    passwordSalt: rest[2],\n                    passwordCpu: rest[3],\n                    passwordMemory: rest[4],\n                    passwordParallel: rest[5],\n                    passwordLength: rest[6],\n                    name: rest[7]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const passwordSalt = params.passwordSalt;\n            const passwordCpu = params.passwordCpu;\n            const passwordMemory = params.passwordMemory;\n            const passwordParallel = params.passwordParallel;\n            const passwordLength = params.passwordLength;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            if (typeof passwordSalt === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordSalt\"');\n            }\n            if (typeof passwordCpu === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordCpu\"');\n            }\n            if (typeof passwordMemory === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordMemory\"');\n            }\n            if (typeof passwordParallel === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordParallel\"');\n            }\n            if (typeof passwordLength === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordLength\"');\n            }\n            const apiPath = '/users/scrypt';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof passwordSalt !== 'undefined') {\n                payload['passwordSalt'] = passwordSalt;\n            }\n            if (typeof passwordCpu !== 'undefined') {\n                payload['passwordCpu'] = passwordCpu;\n            }\n            if (typeof passwordMemory !== 'undefined') {\n                payload['passwordMemory'] = passwordMemory;\n            }\n            if (typeof passwordParallel !== 'undefined') {\n                payload['passwordParallel'] = passwordParallel;\n            }\n            if (typeof passwordLength !== 'undefined') {\n                payload['passwordLength'] = passwordLength;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createScryptModifiedUser(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    passwordSalt: rest[2],\n                    passwordSaltSeparator: rest[3],\n                    passwordSignerKey: rest[4],\n                    name: rest[5]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const passwordSalt = params.passwordSalt;\n            const passwordSaltSeparator = params.passwordSaltSeparator;\n            const passwordSignerKey = params.passwordSignerKey;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            if (typeof passwordSalt === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordSalt\"');\n            }\n            if (typeof passwordSaltSeparator === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordSaltSeparator\"');\n            }\n            if (typeof passwordSignerKey === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"passwordSignerKey\"');\n            }\n            const apiPath = '/users/scrypt-modified';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof passwordSalt !== 'undefined') {\n                payload['passwordSalt'] = passwordSalt;\n            }\n            if (typeof passwordSaltSeparator !== 'undefined') {\n                payload['passwordSaltSeparator'] = passwordSaltSeparator;\n            }\n            if (typeof passwordSignerKey !== 'undefined') {\n                payload['passwordSignerKey'] = passwordSignerKey;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createSHAUser(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0],\n                    password: rest[1],\n                    passwordVersion: rest[2],\n                    name: rest[3]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            const password = params.password;\n            const passwordVersion = params.passwordVersion;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/users/sha';\n            const payload = {};\n            if (typeof userId !== 'undefined') {\n                payload['userId'] = userId;\n            }\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            if (typeof passwordVersion !== 'undefined') {\n                payload['passwordVersion'] = passwordVersion;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/users/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateEmail(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    email: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const email = params.email;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof email === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"email\"');\n            }\n            const apiPath = '/users/{userId}/email'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof email !== 'undefined') {\n                payload['email'] = email;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateImpersonator(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    impersonator: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const impersonator = params.impersonator;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof impersonator === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"impersonator\"');\n            }\n            const apiPath = '/users/{userId}/impersonator'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof impersonator !== 'undefined') {\n                payload['impersonator'] = impersonator;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createJWT(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    sessionId: rest[0],\n                    duration: rest[1]\n                };\n            }\n            const userId = params.userId;\n            const sessionId = params.sessionId;\n            const duration = params.duration;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/jwts'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof sessionId !== 'undefined') {\n                payload['sessionId'] = sessionId;\n            }\n            if (typeof duration !== 'undefined') {\n                payload['duration'] = duration;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateLabels(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    labels: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const labels = params.labels;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof labels === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"labels\"');\n            }\n            const apiPath = '/users/{userId}/labels'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof labels !== 'undefined') {\n                payload['labels'] = labels;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        listLogs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const userId = params.userId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/logs'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listMemberships(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const userId = params.userId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/memberships'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateMfa(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    mfa: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const mfa = params.mfa;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof mfa === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"mfa\"');\n            }\n            const apiPath = '/users/{userId}/mfa'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof mfa !== 'undefined') {\n                payload['mfa'] = mfa;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateMFA(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    mfa: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const mfa = params.mfa;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof mfa === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"mfa\"');\n            }\n            const apiPath = '/users/{userId}/mfa'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof mfa !== 'undefined') {\n                payload['mfa'] = mfa;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteMfaAuthenticator(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    type: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const type = params.type;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/users/{userId}/mfa/authenticators/{type}'.replace('{userId}', userId).replace('{type}', type);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        deleteMFAAuthenticator(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    type: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const type = params.type;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/users/{userId}/mfa/authenticators/{type}'.replace('{userId}', userId).replace('{type}', type);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listMfaFactors(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/factors'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listMFAFactors(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/factors'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getMfaRecoveryCodes(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/recovery-codes'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getMFARecoveryCodes(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/recovery-codes'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateMfaRecoveryCodes(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/recovery-codes'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateMFARecoveryCodes(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/recovery-codes'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        createMfaRecoveryCodes(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/recovery-codes'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        createMFARecoveryCodes(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/mfa/recovery-codes'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updateName(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    name: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/users/{userId}/name'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePassword(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    password: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const password = params.password;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof password === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"password\"');\n            }\n            const apiPath = '/users/{userId}/password'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof password !== 'undefined') {\n                payload['password'] = password;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePhone(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    number: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const number = params.number;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof number === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"number\"');\n            }\n            const apiPath = '/users/{userId}/phone'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof number !== 'undefined') {\n                payload['number'] = number;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        getPrefs(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/prefs'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updatePrefs(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    prefs: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const prefs = params.prefs;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof prefs === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"prefs\"');\n            }\n            const apiPath = '/users/{userId}/prefs'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof prefs !== 'undefined') {\n                payload['prefs'] = prefs;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listSessions(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const total = params.total;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/sessions'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createSession(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/sessions'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        deleteSessions(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst\n                };\n            }\n            const userId = params.userId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/sessions'.replace('{userId}', userId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        deleteSession(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    sessionId: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const sessionId = params.sessionId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof sessionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"sessionId\"');\n            }\n            const apiPath = '/users/{userId}/sessions/{sessionId}'.replace('{userId}', userId).replace('{sessionId}', sessionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateStatus(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    status: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const status = params.status;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof status === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"status\"');\n            }\n            const apiPath = '/users/{userId}/status'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof status !== 'undefined') {\n                payload['status'] = status;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listTargets(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    queries: rest[0],\n                    total: rest[1]\n                };\n            }\n            const userId = params.userId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/targets'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTarget(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    targetId: rest[0],\n                    providerType: rest[1],\n                    identifier: rest[2],\n                    providerId: rest[3],\n                    name: rest[4]\n                };\n            }\n            const userId = params.userId;\n            const targetId = params.targetId;\n            const providerType = params.providerType;\n            const identifier = params.identifier;\n            const providerId = params.providerId;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            if (typeof providerType === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerType\"');\n            }\n            if (typeof identifier === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"identifier\"');\n            }\n            const apiPath = '/users/{userId}/targets'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof targetId !== 'undefined') {\n                payload['targetId'] = targetId;\n            }\n            if (typeof providerType !== 'undefined') {\n                payload['providerType'] = providerType;\n            }\n            if (typeof identifier !== 'undefined') {\n                payload['identifier'] = identifier;\n            }\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getTarget(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    targetId: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const targetId = params.targetId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            const apiPath = '/users/{userId}/targets/{targetId}'.replace('{userId}', userId).replace('{targetId}', targetId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateTarget(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    targetId: rest[0],\n                    identifier: rest[1],\n                    providerId: rest[2],\n                    name: rest[3]\n                };\n            }\n            const userId = params.userId;\n            const targetId = params.targetId;\n            const identifier = params.identifier;\n            const providerId = params.providerId;\n            const name = params.name;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            const apiPath = '/users/{userId}/targets/{targetId}'.replace('{userId}', userId).replace('{targetId}', targetId);\n            const payload = {};\n            if (typeof identifier !== 'undefined') {\n                payload['identifier'] = identifier;\n            }\n            if (typeof providerId !== 'undefined') {\n                payload['providerId'] = providerId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteTarget(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    targetId: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const targetId = params.targetId;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof targetId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"targetId\"');\n            }\n            const apiPath = '/users/{userId}/targets/{targetId}'.replace('{userId}', userId).replace('{targetId}', targetId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createToken(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    length: rest[0],\n                    expire: rest[1]\n                };\n            }\n            const userId = params.userId;\n            const length = params.length;\n            const expire = params.expire;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            const apiPath = '/users/{userId}/tokens'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof length !== 'undefined') {\n                payload['length'] = length;\n            }\n            if (typeof expire !== 'undefined') {\n                payload['expire'] = expire;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        updateEmailVerification(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    emailVerification: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const emailVerification = params.emailVerification;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof emailVerification === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"emailVerification\"');\n            }\n            const apiPath = '/users/{userId}/verification'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof emailVerification !== 'undefined') {\n                payload['emailVerification'] = emailVerification;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        updatePhoneVerification(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    userId: paramsOrFirst,\n                    phoneVerification: rest[0]\n                };\n            }\n            const userId = params.userId;\n            const phoneVerification = params.phoneVerification;\n            if (typeof userId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"userId\"');\n            }\n            if (typeof phoneVerification === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"phoneVerification\"');\n            }\n            const apiPath = '/users/{userId}/verification/phone'.replace('{userId}', userId);\n            const payload = {};\n            if (typeof phoneVerification !== 'undefined') {\n                payload['phoneVerification'] = phoneVerification;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n    }\n\n    class Vcs {\n        constructor(client) {\n            this.client = client;\n        }\n        createRepositoryDetection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst,\n                    providerRepositoryId: rest[0],\n                    type: rest[1],\n                    providerRootDirectory: rest[2]\n                };\n            }\n            const installationId = params.installationId;\n            const providerRepositoryId = params.providerRepositoryId;\n            const type = params.type;\n            const providerRootDirectory = params.providerRootDirectory;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            if (typeof providerRepositoryId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerRepositoryId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/vcs/github/installations/{installationId}/detections'.replace('{installationId}', installationId);\n            const payload = {};\n            if (typeof providerRepositoryId !== 'undefined') {\n                payload['providerRepositoryId'] = providerRepositoryId;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof providerRootDirectory !== 'undefined') {\n                payload['providerRootDirectory'] = providerRootDirectory;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listRepositories(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst,\n                    type: rest[0],\n                    search: rest[1],\n                    queries: rest[2]\n                };\n            }\n            const installationId = params.installationId;\n            const type = params.type;\n            const search = params.search;\n            const queries = params.queries;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            const apiPath = '/vcs/github/installations/{installationId}/providerRepositories'.replace('{installationId}', installationId);\n            const payload = {};\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createRepository(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst,\n                    name: rest[0],\n                    xprivate: rest[1]\n                };\n            }\n            const installationId = params.installationId;\n            const name = params.name;\n            const xprivate = params.xprivate;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof xprivate === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"xprivate\"');\n            }\n            const apiPath = '/vcs/github/installations/{installationId}/providerRepositories'.replace('{installationId}', installationId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof xprivate !== 'undefined') {\n                payload['private'] = xprivate;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getRepository(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst,\n                    providerRepositoryId: rest[0]\n                };\n            }\n            const installationId = params.installationId;\n            const providerRepositoryId = params.providerRepositoryId;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            if (typeof providerRepositoryId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerRepositoryId\"');\n            }\n            const apiPath = '/vcs/github/installations/{installationId}/providerRepositories/{providerRepositoryId}'.replace('{installationId}', installationId).replace('{providerRepositoryId}', providerRepositoryId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        listRepositoryBranches(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst,\n                    providerRepositoryId: rest[0],\n                    search: rest[1],\n                    queries: rest[2]\n                };\n            }\n            const installationId = params.installationId;\n            const providerRepositoryId = params.providerRepositoryId;\n            const search = params.search;\n            const queries = params.queries;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            if (typeof providerRepositoryId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerRepositoryId\"');\n            }\n            const apiPath = '/vcs/github/installations/{installationId}/providerRepositories/{providerRepositoryId}/branches'.replace('{installationId}', installationId).replace('{providerRepositoryId}', providerRepositoryId);\n            const payload = {};\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getRepositoryContents(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst,\n                    providerRepositoryId: rest[0],\n                    providerRootDirectory: rest[1],\n                    providerReference: rest[2]\n                };\n            }\n            const installationId = params.installationId;\n            const providerRepositoryId = params.providerRepositoryId;\n            const providerRootDirectory = params.providerRootDirectory;\n            const providerReference = params.providerReference;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            if (typeof providerRepositoryId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerRepositoryId\"');\n            }\n            const apiPath = '/vcs/github/installations/{installationId}/providerRepositories/{providerRepositoryId}/contents'.replace('{installationId}', installationId).replace('{providerRepositoryId}', providerRepositoryId);\n            const payload = {};\n            if (typeof providerRootDirectory !== 'undefined') {\n                payload['providerRootDirectory'] = providerRootDirectory;\n            }\n            if (typeof providerReference !== 'undefined') {\n                payload['providerReference'] = providerReference;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateExternalDeployments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst,\n                    repositoryId: rest[0],\n                    providerPullRequestId: rest[1]\n                };\n            }\n            const installationId = params.installationId;\n            const repositoryId = params.repositoryId;\n            const providerPullRequestId = params.providerPullRequestId;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            if (typeof repositoryId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"repositoryId\"');\n            }\n            if (typeof providerPullRequestId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"providerPullRequestId\"');\n            }\n            const apiPath = '/vcs/github/installations/{installationId}/repositories/{repositoryId}'.replace('{installationId}', installationId).replace('{repositoryId}', repositoryId);\n            const payload = {};\n            if (typeof providerPullRequestId !== 'undefined') {\n                payload['providerPullRequestId'] = providerPullRequestId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        listInstallations(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    search: rest[0],\n                    total: rest[1]\n                };\n            }\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            const apiPath = '/vcs/installations';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getInstallation(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst\n                };\n            }\n            const installationId = params.installationId;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            const apiPath = '/vcs/installations/{installationId}'.replace('{installationId}', installationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteInstallation(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    installationId: paramsOrFirst\n                };\n            }\n            const installationId = params.installationId;\n            if (typeof installationId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"installationId\"');\n            }\n            const apiPath = '/vcs/installations/{installationId}'.replace('{installationId}', installationId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n    }\n\n    class VectorsDB {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/vectorsdb';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1],\n                    dedicatedDatabaseId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            const dedicatedDatabaseId = params.dedicatedDatabaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/vectorsdb';\n            const payload = {};\n            if (typeof databaseId !== 'undefined') {\n                payload['databaseId'] = databaseId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof dedicatedDatabaseId !== 'undefined') {\n                payload['dedicatedDatabaseId'] = dedicatedDatabaseId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createTextEmbeddings(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    texts: paramsOrFirst,\n                    model: rest[0]\n                };\n            }\n            const texts = params.texts;\n            const model = params.model;\n            if (typeof texts === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"texts\"');\n            }\n            const apiPath = '/vectorsdb/embeddings/text';\n            const payload = {};\n            if (typeof texts !== 'undefined') {\n                payload['texts'] = texts;\n            }\n            if (typeof model !== 'undefined') {\n                payload['model'] = model;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listTransactions(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst\n                };\n            }\n            const queries = params.queries;\n            const apiPath = '/vectorsdb/transactions';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createTransaction(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    ttl: paramsOrFirst\n                };\n            }\n            const ttl = params.ttl;\n            const apiPath = '/vectorsdb/transactions';\n            const payload = {};\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/vectorsdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateTransaction(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst,\n                    commit: rest[0],\n                    rollback: rest[1]\n                };\n            }\n            const transactionId = params.transactionId;\n            const commit = params.commit;\n            const rollback = params.rollback;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/vectorsdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            if (typeof commit !== 'undefined') {\n                payload['commit'] = commit;\n            }\n            if (typeof rollback !== 'undefined') {\n                payload['rollback'] = rollback;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteTransaction(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst\n                };\n            }\n            const transactionId = params.transactionId;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/vectorsdb/transactions/{transactionId}'.replace('{transactionId}', transactionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        createOperations(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    transactionId: paramsOrFirst,\n                    operations: rest[0]\n                };\n            }\n            const transactionId = params.transactionId;\n            const operations = params.operations;\n            if (typeof transactionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"transactionId\"');\n            }\n            const apiPath = '/vectorsdb/transactions/{transactionId}/operations'.replace('{transactionId}', transactionId);\n            const payload = {};\n            if (typeof operations !== 'undefined') {\n                payload['operations'] = operations;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        listUsage(paramsOrFirst) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('range' in paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    range: paramsOrFirst\n                };\n            }\n            const range = params.range;\n            const apiPath = '/vectorsdb/usage';\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    name: rest[0],\n                    enabled: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const name = params.name;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst\n                };\n            }\n            const databaseId = params.databaseId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}'.replace('{databaseId}', databaseId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listCollections(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    queries: rest[0],\n                    search: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const queries = params.queries;\n            const search = params.search;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof search !== 'undefined') {\n                payload['search'] = search;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    name: rest[1],\n                    dimension: rest[2],\n                    permissions: rest[3],\n                    documentSecurity: rest[4],\n                    enabled: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const name = params.name;\n            const dimension = params.dimension;\n            const permissions = params.permissions;\n            const documentSecurity = params.documentSecurity;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof dimension === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"dimension\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof collectionId !== 'undefined') {\n                payload['collectionId'] = collectionId;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof dimension !== 'undefined') {\n                payload['dimension'] = dimension;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof documentSecurity !== 'undefined') {\n                payload['documentSecurity'] = documentSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        updateCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    name: rest[1],\n                    dimension: rest[2],\n                    permissions: rest[3],\n                    documentSecurity: rest[4],\n                    enabled: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const name = params.name;\n            const dimension = params.dimension;\n            const permissions = params.permissions;\n            const documentSecurity = params.documentSecurity;\n            const enabled = params.enabled;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof dimension !== 'undefined') {\n                payload['dimension'] = dimension;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof documentSecurity !== 'undefined') {\n                payload['documentSecurity'] = documentSecurity;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        deleteCollection(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2],\n                    total: rest[3],\n                    ttl: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            const total = params.total;\n            const ttl = params.ttl;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            if (typeof ttl !== 'undefined') {\n                payload['ttl'] = ttl;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            if (typeof data === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"data\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documentId !== 'undefined') {\n                payload['documentId'] = documentId;\n            }\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        createDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documents: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documents = params.documents;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documents === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documents\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documents !== 'undefined') {\n                payload['documents'] = documents;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        upsertDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documents: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documents = params.documents;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documents === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documents\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof documents !== 'undefined') {\n                payload['documents'] = documents;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    data: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const data = params.data;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDocuments(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    queries: rest[2],\n                    transactionId: rest[3]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const queries = params.queries;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        upsertDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        updateDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    data: rest[2],\n                    permissions: rest[3],\n                    transactionId: rest[4]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const data = params.data;\n            const permissions = params.permissions;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof data !== 'undefined') {\n                payload['data'] = data;\n            }\n            if (typeof permissions !== 'undefined') {\n                payload['permissions'] = permissions;\n            }\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n        deleteDocument(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    documentId: rest[1],\n                    transactionId: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const documentId = params.documentId;\n            const transactionId = params.transactionId;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof documentId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"documentId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{documentId}', documentId);\n            const payload = {};\n            if (typeof transactionId !== 'undefined') {\n                payload['transactionId'] = transactionId;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        listIndexes(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    queries: rest[1],\n                    total: rest[2]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const queries = params.queries;\n            const total = params.total;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/indexes'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        createIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1],\n                    type: rest[2],\n                    attributes: rest[3],\n                    orders: rest[4],\n                    lengths: rest[5]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            const type = params.type;\n            const attributes = params.attributes;\n            const orders = params.orders;\n            const lengths = params.lengths;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            if (typeof type === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"type\"');\n            }\n            if (typeof attributes === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"attributes\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/indexes'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof key !== 'undefined') {\n                payload['key'] = key;\n            }\n            if (typeof type !== 'undefined') {\n                payload['type'] = type;\n            }\n            if (typeof attributes !== 'undefined') {\n                payload['attributes'] = attributes;\n            }\n            if (typeof orders !== 'undefined') {\n                payload['orders'] = orders;\n            }\n            if (typeof lengths !== 'undefined') {\n                payload['lengths'] = lengths;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        getIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        deleteIndex(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    key: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const key = params.key;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            if (typeof key === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"key\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/indexes/{key}'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId).replace('{key}', key);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        getCollectionUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    collectionId: rest[0],\n                    range: rest[1]\n                };\n            }\n            const databaseId = params.databaseId;\n            const collectionId = params.collectionId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            if (typeof collectionId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"collectionId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/usage'.replace('{databaseId}', databaseId).replace('{collectionId}', collectionId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        getUsage(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    databaseId: paramsOrFirst,\n                    range: rest[0]\n                };\n            }\n            const databaseId = params.databaseId;\n            const range = params.range;\n            if (typeof databaseId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"databaseId\"');\n            }\n            const apiPath = '/vectorsdb/{databaseId}/usage'.replace('{databaseId}', databaseId);\n            const payload = {};\n            if (typeof range !== 'undefined') {\n                payload['range'] = range;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n    }\n\n    class Webhooks {\n        constructor(client) {\n            this.client = client;\n        }\n        list(paramsOrFirst, ...rest) {\n            let params;\n            if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    queries: paramsOrFirst,\n                    total: rest[0]\n                };\n            }\n            const queries = params.queries;\n            const total = params.total;\n            const apiPath = '/webhooks';\n            const payload = {};\n            if (typeof queries !== 'undefined') {\n                payload['queries'] = queries;\n            }\n            if (typeof total !== 'undefined') {\n                payload['total'] = total;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        create(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    webhookId: paramsOrFirst,\n                    url: rest[0],\n                    name: rest[1],\n                    events: rest[2],\n                    enabled: rest[3],\n                    tls: rest[4],\n                    authUsername: rest[5],\n                    authPassword: rest[6],\n                    secret: rest[7]\n                };\n            }\n            const webhookId = params.webhookId;\n            const url = params.url;\n            const name = params.name;\n            const events = params.events;\n            const enabled = params.enabled;\n            const tls = params.tls;\n            const authUsername = params.authUsername;\n            const authPassword = params.authPassword;\n            const secret = params.secret;\n            if (typeof webhookId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"webhookId\"');\n            }\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof events === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"events\"');\n            }\n            const apiPath = '/webhooks';\n            const payload = {};\n            if (typeof webhookId !== 'undefined') {\n                payload['webhookId'] = webhookId;\n            }\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof events !== 'undefined') {\n                payload['events'] = events;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof tls !== 'undefined') {\n                payload['tls'] = tls;\n            }\n            if (typeof authUsername !== 'undefined') {\n                payload['authUsername'] = authUsername;\n            }\n            if (typeof authPassword !== 'undefined') {\n                payload['authPassword'] = authPassword;\n            }\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('post', uri, apiHeaders, payload);\n        }\n        get(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    webhookId: paramsOrFirst\n                };\n            }\n            const webhookId = params.webhookId;\n            if (typeof webhookId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"webhookId\"');\n            }\n            const apiPath = '/webhooks/{webhookId}'.replace('{webhookId}', webhookId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'accept': 'application/json',\n            };\n            return this.client.call('get', uri, apiHeaders, payload);\n        }\n        update(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    webhookId: paramsOrFirst,\n                    name: rest[0],\n                    url: rest[1],\n                    events: rest[2],\n                    enabled: rest[3],\n                    tls: rest[4],\n                    authUsername: rest[5],\n                    authPassword: rest[6]\n                };\n            }\n            const webhookId = params.webhookId;\n            const name = params.name;\n            const url = params.url;\n            const events = params.events;\n            const enabled = params.enabled;\n            const tls = params.tls;\n            const authUsername = params.authUsername;\n            const authPassword = params.authPassword;\n            if (typeof webhookId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"webhookId\"');\n            }\n            if (typeof name === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"name\"');\n            }\n            if (typeof url === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"url\"');\n            }\n            if (typeof events === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"events\"');\n            }\n            const apiPath = '/webhooks/{webhookId}'.replace('{webhookId}', webhookId);\n            const payload = {};\n            if (typeof name !== 'undefined') {\n                payload['name'] = name;\n            }\n            if (typeof url !== 'undefined') {\n                payload['url'] = url;\n            }\n            if (typeof events !== 'undefined') {\n                payload['events'] = events;\n            }\n            if (typeof enabled !== 'undefined') {\n                payload['enabled'] = enabled;\n            }\n            if (typeof tls !== 'undefined') {\n                payload['tls'] = tls;\n            }\n            if (typeof authUsername !== 'undefined') {\n                payload['authUsername'] = authUsername;\n            }\n            if (typeof authPassword !== 'undefined') {\n                payload['authPassword'] = authPassword;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('put', uri, apiHeaders, payload);\n        }\n        delete(paramsOrFirst) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    webhookId: paramsOrFirst\n                };\n            }\n            const webhookId = params.webhookId;\n            if (typeof webhookId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"webhookId\"');\n            }\n            const apiPath = '/webhooks/{webhookId}'.replace('{webhookId}', webhookId);\n            const payload = {};\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n            };\n            return this.client.call('delete', uri, apiHeaders, payload);\n        }\n        updateSecret(paramsOrFirst, ...rest) {\n            let params;\n            if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n                params = (paramsOrFirst || {});\n            }\n            else {\n                params = {\n                    webhookId: paramsOrFirst,\n                    secret: rest[0]\n                };\n            }\n            const webhookId = params.webhookId;\n            const secret = params.secret;\n            if (typeof webhookId === 'undefined') {\n                throw new AppwriteException('Missing required parameter: \"webhookId\"');\n            }\n            const apiPath = '/webhooks/{webhookId}/secret'.replace('{webhookId}', webhookId);\n            const payload = {};\n            if (typeof secret !== 'undefined') {\n                payload['secret'] = secret;\n            }\n            const uri = new URL(this.client.config.endpoint + apiPath);\n            const apiHeaders = {\n                'X-Appwrite-Project': this.client.config.project,\n                'content-type': 'application/json',\n                'accept': 'application/json',\n            };\n            return this.client.call('patch', uri, apiHeaders, payload);\n        }\n    }\n\n    var RealtimeCode;\n    (function (RealtimeCode) {\n        RealtimeCode[RealtimeCode[\"NORMAL_CLOSURE\"] = 1000] = \"NORMAL_CLOSURE\";\n        RealtimeCode[RealtimeCode[\"POLICY_VIOLATION\"] = 1008] = \"POLICY_VIOLATION\";\n        RealtimeCode[RealtimeCode[\"UNKNOWN_ERROR\"] = -1] = \"UNKNOWN_ERROR\";\n    })(RealtimeCode || (RealtimeCode = {}));\n    class Realtime {\n        constructor(client) {\n            this.TYPE_ERROR = 'error';\n            this.TYPE_EVENT = 'event';\n            this.TYPE_PONG = 'pong';\n            this.TYPE_CONNECTED = 'connected';\n            this.DEBOUNCE_MS = 1;\n            this.HEARTBEAT_INTERVAL = 20000; // 20 seconds in milliseconds\n            this.activeSubscriptions = new Map();\n            this.pendingSubscribes = new Map();\n            this.appConnected = false;\n            this.subCallDepth = 0;\n            this.reconnectAttempts = 0;\n            this.connectionId = 0;\n            this.reconnect = true;\n            this.onErrorCallbacks = [];\n            this.onCloseCallbacks = [];\n            this.onOpenCallbacks = [];\n            this.client = client;\n        }\n        /**\n         * Register a callback function to be called when an error occurs\n         *\n         * @param {Function} callback - Callback function to handle errors\n         * @returns {void}\n         */\n        onError(callback) {\n            this.onErrorCallbacks.push(callback);\n        }\n        /**\n         * Register a callback function to be called when the connection closes\n         *\n         * @param {Function} callback - Callback function to handle connection close\n         * @returns {void}\n         */\n        onClose(callback) {\n            this.onCloseCallbacks.push(callback);\n        }\n        /**\n         * Register a callback function to be called when the connection opens\n         *\n         * @param {Function} callback - Callback function to handle connection open\n         * @returns {void}\n         */\n        onOpen(callback) {\n            this.onOpenCallbacks.push(callback);\n        }\n        startHeartbeat() {\n            this.stopHeartbeat();\n            this.heartbeatTimer = window === null || window === void 0 ? void 0 : window.setInterval(() => {\n                if (this.socket && this.socket.readyState === WebSocket.OPEN) {\n                    this.socket.send(JSONbig.stringify({ type: 'ping' }));\n                }\n            }, this.HEARTBEAT_INTERVAL);\n        }\n        stopHeartbeat() {\n            if (this.heartbeatTimer) {\n                window === null || window === void 0 ? void 0 : window.clearInterval(this.heartbeatTimer);\n                this.heartbeatTimer = undefined;\n            }\n        }\n        /**\n         * Idempotent socket opener. Both `subscribe()` and `upsertPresence()` can\n         * call this; the single-flight lock (`socketCreationPromise`) guarantees\n         * only one `new WebSocket(...)` is ever in flight, so concurrent callers\n         * join the same connection attempt instead of opening duplicates.\n         *\n         * Returns early when a healthy socket is already present.\n         */\n        createSocket() {\n            return __awaiter(this, void 0, void 0, function* () {\n                // Fast path: a usable socket is already there. No need to open another.\n                if (this.socket && this.socket.readyState < WebSocket.CLOSING) {\n                    return;\n                }\n                // Another caller is already opening one — join it.\n                if (this.socketCreationPromise) {\n                    return this.socketCreationPromise;\n                }\n                this.socketCreationPromise = this.createSocketLocked().finally(() => {\n                    this.socketCreationPromise = undefined;\n                });\n                return this.socketCreationPromise;\n            });\n        }\n        createSocketLocked() {\n            return __awaiter(this, void 0, void 0, function* () {\n                // Nothing to do if there's neither a subscription nor a queued presence\n                // that needs the wire. (Reconnect cleanup path also flows through here.)\n                if (this.activeSubscriptions.size === 0 && !this.pendingPresence) {\n                    this.reconnect = false;\n                    yield this.closeSocket();\n                    return;\n                }\n                const projectId = this.client.config.project;\n                if (!projectId) {\n                    throw new AppwriteException('Missing project ID');\n                }\n                // URL carries only the project; channels/queries are sent via the subscribe message.\n                const queryParams = `project=${projectId}`;\n                const endpoint = this.client.config.endpointRealtime !== ''\n                    ? this.client.config.endpointRealtime\n                    : this.client.config.endpoint || '';\n                const realtimeEndpoint = endpoint\n                    .replace('https://', 'wss://')\n                    .replace('http://', 'ws://');\n                const url = `${realtimeEndpoint}/realtime?${queryParams}`;\n                if (this.socket) {\n                    this.reconnect = false;\n                    if (this.socket.readyState < WebSocket.CLOSING) {\n                        yield this.closeSocket();\n                    }\n                    // Ensure reconnect isn't stuck false if close event was missed.\n                    this.reconnect = true;\n                }\n                return new Promise((resolve, reject) => {\n                    // Re-check the entry guard synchronously. `disconnect()` may have\n                    // run during the `await this.closeSocket()` above (or any other\n                    // await between the original guard and here), clearing every\n                    // subscription and the pending presence. In that case opening a\n                    // fresh socket would leak a connection with nothing attached.\n                    if (this.activeSubscriptions.size === 0 && !this.pendingPresence) {\n                        resolve();\n                        return;\n                    }\n                    try {\n                        const connectionId = ++this.connectionId;\n                        const socket = (this.socket = new WebSocket(url));\n                        socket.addEventListener('open', () => {\n                            if (connectionId !== this.connectionId) {\n                                return;\n                            }\n                            this.reconnectAttempts = 0;\n                            this.onOpenCallbacks.forEach(callback => callback());\n                            this.startHeartbeat();\n                            resolve();\n                        });\n                        socket.addEventListener('message', (event) => {\n                            if (connectionId !== this.connectionId) {\n                                return;\n                            }\n                            try {\n                                const message = JSONbig.parse(event.data);\n                                this.handleMessage(message);\n                            }\n                            catch (error) {\n                                console.error('Failed to parse message:', error);\n                            }\n                        });\n                        socket.addEventListener('close', (event) => __awaiter(this, void 0, void 0, function* () {\n                            if (connectionId !== this.connectionId || socket !== this.socket) {\n                                return;\n                            }\n                            this.appConnected = false;\n                            this.stopHeartbeat();\n                            this.onCloseCallbacks.forEach(callback => callback());\n                            if (!this.reconnect || event.code === RealtimeCode.POLICY_VIOLATION) {\n                                this.reconnect = true;\n                                return;\n                            }\n                            const timeout = this.getTimeout();\n                            console.log(`Realtime disconnected. Re-connecting in ${timeout / 1000} seconds.`);\n                            yield this.sleep(timeout);\n                            this.reconnectAttempts++;\n                            try {\n                                yield this.createSocket();\n                            }\n                            catch (error) {\n                                console.error('Failed to reconnect:', error);\n                            }\n                        }));\n                        socket.addEventListener('error', (event) => {\n                            if (connectionId !== this.connectionId || socket !== this.socket) {\n                                return;\n                            }\n                            this.stopHeartbeat();\n                            const error = new Error('WebSocket error');\n                            console.error('WebSocket error:', error.message);\n                            this.onErrorCallbacks.forEach(callback => callback(error));\n                            reject(error);\n                        });\n                    }\n                    catch (error) {\n                        reject(error);\n                    }\n                });\n            });\n        }\n        closeSocket() {\n            return __awaiter(this, void 0, void 0, function* () {\n                this.stopHeartbeat();\n                if (this.socket) {\n                    return new Promise((resolve) => {\n                        if (!this.socket) {\n                            resolve();\n                            return;\n                        }\n                        if (this.socket.readyState === WebSocket.OPEN ||\n                            this.socket.readyState === WebSocket.CONNECTING) {\n                            this.socket.addEventListener('close', () => {\n                                resolve();\n                            }, { once: true });\n                            this.socket.close(RealtimeCode.NORMAL_CLOSURE);\n                        }\n                        else {\n                            resolve();\n                        }\n                    });\n                }\n            });\n        }\n        getTimeout() {\n            if (this.reconnectAttempts < 5) {\n                return 1000;\n            }\n            else if (this.reconnectAttempts < 15) {\n                return 5000;\n            }\n            else if (this.reconnectAttempts < 100) {\n                return 10000;\n            }\n            else {\n                return 60000;\n            }\n        }\n        sleep(ms) {\n            return new Promise(resolve => setTimeout(resolve, ms));\n        }\n        sendUnsubscribeMessage(subscriptionIds) {\n            const ids = subscriptionIds.filter(id => typeof id === 'string' && id.length > 0);\n            if (ids.length === 0) {\n                return;\n            }\n            if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {\n                return;\n            }\n            this.socket.send(JSONbig.stringify({\n                type: 'unsubscribe',\n                data: ids.map(subscriptionId => ({ subscriptionId }))\n            }));\n        }\n        generateUniqueSubscriptionId() {\n            const attempts = this.activeSubscriptions.size + 1;\n            for (let i = 0; i < attempts; i++) {\n                const id = ID.unique();\n                if (!this.activeSubscriptions.has(id)) {\n                    return id;\n                }\n            }\n            throw new AppwriteException('Failed to generate unique subscription id');\n        }\n        enqueuePendingSubscribe(subscriptionId) {\n            var _a;\n            const subscription = this.activeSubscriptions.get(subscriptionId);\n            if (!subscription) {\n                return;\n            }\n            this.pendingSubscribes.set(subscriptionId, {\n                subscriptionId,\n                channels: Array.from(subscription.channels),\n                queries: (_a = subscription.queries) !== null && _a !== void 0 ? _a : []\n            });\n        }\n        /**\n         * Close the WebSocket connection and drop all active subscriptions client-side.\n         * Use this instead of calling `unsubscribe()` on every subscription when you want to tear everything down.\n         */\n        disconnect() {\n            return __awaiter(this, void 0, void 0, function* () {\n                this.activeSubscriptions.clear();\n                this.pendingSubscribes.clear();\n                this.pendingPresence = undefined;\n                this.appConnected = false;\n                this.reconnect = false;\n                // Drop the in-flight single-flight slot. Promises can't be cancelled,\n                // so the underlying createSocketLocked() promise may stay pending\n                // forever — e.g. when closeSocket() below tears down a CONNECTING\n                // socket, the `close` event fires but `open`/`error` never do, and\n                // the inner `new Promise(...)` only resolves on those. Without this\n                // line, the next subscribe()/upsertPresence() would join the orphan\n                // promise via the single-flight gate and hang, leaving its pending\n                // subscription queued with no socket ever opened. Mirrors the Swift\n                // template's socketCreationTask cancel in disconnect().\n                this.socketCreationPromise = undefined;\n                yield this.closeSocket();\n            });\n        }\n        sendPendingSubscribes() {\n            if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {\n                return;\n            }\n            // The WebSocket 'open' event fires when the TCP/upgrade handshake\n            // completes — but the server only accepts `subscribe` frames after\n            // it has emitted its own application-level `connected` event (which\n            // flips `appConnected` to true in handleResponseConnected). Sending\n            // before then triggers a policy-violation close on real Appwrite,\n            // which reconnects, which sends early again — i.e. a duplicate-\n            // socket loop. handleResponseConnected re-enqueues every active\n            // subscription and calls this method again once it's safe, so the\n            // queued rows are guaranteed to be sent.\n            if (!this.appConnected) {\n                return;\n            }\n            if (this.pendingSubscribes.size < 1) {\n                return;\n            }\n            const rows = Array.from(this.pendingSubscribes.values());\n            this.pendingSubscribes.clear();\n            this.socket.send(JSONbig.stringify({\n                type: 'subscribe',\n                data: rows\n            }));\n        }\n        /**\n         * Convert a channel value to a string\n         *\n         * @private\n         * @param {string | Channel<any> | ActionableChannel | ResolvedChannel} channel - Channel value (string or Channel builder instance)\n         * @returns {string} Channel string representation\n         */\n        channelToString(channel) {\n            if (typeof channel === 'string') {\n                return channel;\n            }\n            // All Channel instances have toString() method\n            if (channel && typeof channel.toString === 'function') {\n                return channel.toString();\n            }\n            return String(channel);\n        }\n        subscribe(channelsOrChannel_1, callback_1) {\n            return __awaiter(this, arguments, void 0, function* (channelsOrChannel, callback, queries = []) {\n                const channelArray = Array.isArray(channelsOrChannel)\n                    ? channelsOrChannel\n                    : [channelsOrChannel];\n                // Convert all channels to strings\n                const channelStrings = channelArray.map(ch => this.channelToString(ch));\n                const channels = new Set(channelStrings);\n                // Convert queries to array of strings\n                // Ensure each query is a separate string in the array\n                const queryStrings = [];\n                for (const q of (queries !== null && queries !== void 0 ? queries : [])) {\n                    if (Array.isArray(q)) {\n                        // Handle nested arrays: [[q1, q2]] -> [q1, q2]\n                        for (const inner of q) {\n                            queryStrings.push(typeof inner === 'string' ? inner : inner.toString());\n                        }\n                    }\n                    else {\n                        queryStrings.push(typeof q === 'string' ? q : q.toString());\n                    }\n                }\n                const subscriptionId = this.generateUniqueSubscriptionId();\n                this.activeSubscriptions.set(subscriptionId, {\n                    channels,\n                    queries: queryStrings,\n                    callback\n                });\n                this.enqueuePendingSubscribe(subscriptionId);\n                this.subCallDepth++;\n                try {\n                    yield this.sleep(this.DEBOUNCE_MS);\n                    if (this.subCallDepth === 1) {\n                        if (!this.socket || this.socket.readyState > WebSocket.OPEN) {\n                            yield this.createSocket();\n                        }\n                        else if (this.socket.readyState === WebSocket.OPEN) {\n                            this.sendPendingSubscribes();\n                        }\n                    }\n                }\n                finally {\n                    this.subCallDepth--;\n                }\n                const unsubscribe = () => __awaiter(this, void 0, void 0, function* () {\n                    if (!this.activeSubscriptions.has(subscriptionId)) {\n                        return;\n                    }\n                    this.activeSubscriptions.delete(subscriptionId);\n                    this.pendingSubscribes.delete(subscriptionId);\n                    this.sendUnsubscribeMessage([subscriptionId]);\n                });\n                const update = (changes) => __awaiter(this, void 0, void 0, function* () {\n                    const subscription = this.activeSubscriptions.get(subscriptionId);\n                    if (!subscription) {\n                        return;\n                    }\n                    if (changes.channels !== undefined) {\n                        const nextChannelStrings = changes.channels.map(ch => this.channelToString(ch));\n                        subscription.channels = new Set(nextChannelStrings);\n                    }\n                    if (changes.queries !== undefined) {\n                        const nextQueries = [];\n                        for (const q of changes.queries) {\n                            if (Array.isArray(q)) {\n                                for (const inner of q) {\n                                    nextQueries.push(typeof inner === 'string' ? inner : inner.toString());\n                                }\n                            }\n                            else {\n                                nextQueries.push(typeof q === 'string' ? q : q.toString());\n                            }\n                        }\n                        subscription.queries = nextQueries;\n                    }\n                    this.enqueuePendingSubscribe(subscriptionId);\n                    this.subCallDepth++;\n                    try {\n                        yield this.sleep(this.DEBOUNCE_MS);\n                        if (this.subCallDepth === 1) {\n                            if (!this.socket || this.socket.readyState > WebSocket.OPEN) {\n                                yield this.createSocket();\n                            }\n                            else if (this.socket.readyState === WebSocket.OPEN) {\n                                this.sendPendingSubscribes();\n                            }\n                        }\n                    }\n                    finally {\n                        this.subCallDepth--;\n                    }\n                });\n                const close = () => __awaiter(this, void 0, void 0, function* () {\n                    yield unsubscribe();\n                    if (this.activeSubscriptions.size === 0) {\n                        this.reconnect = false;\n                        yield this.closeSocket();\n                    }\n                });\n                return { unsubscribe, update, close };\n            });\n        }\n        /**\n         * Fire-and-forget presence upsert. Records the latest payload in state so\n         * that — if the WebSocket isn't open yet, or later reconnects — only the\n         * most recent presence is automatically (re)sent on the next `connected`\n         * event. Repeated calls while the socket is closed collapse to the latest\n         * payload (older ones are discarded).\n         *\n         * Returns a `Promise<void>` for API consistency; the promise resolves as\n         * soon as the payload has been stored and the opportunistic send attempted.\n         *\n         * @param {RealtimePresenceCreate} params - Presence payload (status and presenceId required, permissions/metadata optional)\n         */\n        upsertPresence(params) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const data = {\n                    status: params.status,\n                    presenceId: params.presenceId,\n                };\n                if (params.permissions !== undefined) {\n                    data.permissions = params.permissions;\n                }\n                if (params.metadata !== undefined) {\n                    data.metadata = params.metadata;\n                }\n                this.pendingPresence = data;\n                // Both subscribe() and upsertPresence() may need to open the socket.\n                // createSocket() is single-flight (see `socketCreationPromise`), so\n                // calling it here is a no-op when a connection is already in flight or\n                // healthy. Fire-and-forget keeps the documented fire-and-forget shape\n                // of upsertPresence: the returned Promise resolves as soon as the\n                // payload is stored.\n                if (!this.socket || this.socket.readyState >= WebSocket.CLOSING) {\n                    this.createSocket().catch((error) => {\n                        console.error('Failed to open realtime socket for presence:', error);\n                    });\n                }\n                // Opportunistic send for the case where the socket is already past the\n                // `connected` handshake. The gate inside flushPendingPresence keeps\n                // this a no-op until appConnected flips to true.\n                this.flushPendingPresence();\n            });\n        }\n        flushPendingPresence() {\n            if (!this.pendingPresence) {\n                return;\n            }\n            if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {\n                return;\n            }\n            if (!this.appConnected) {\n                return;\n            }\n            this.socket.send(JSONbig.stringify({\n                type: 'presence',\n                data: this.pendingPresence\n            }));\n        }\n        handleMessage(message) {\n            if (!message.type) {\n                return;\n            }\n            switch (message.type) {\n                case this.TYPE_CONNECTED:\n                    this.handleResponseConnected(message);\n                    break;\n                case this.TYPE_ERROR:\n                    this.handleResponseError(message);\n                    break;\n                case this.TYPE_EVENT:\n                    this.handleResponseEvent(message);\n                    break;\n                case this.TYPE_PONG:\n                    // Handle pong response if needed\n                    break;\n            }\n        }\n        handleResponseConnected(message) {\n            var _a, _b;\n            if (!message.data) {\n                return;\n            }\n            const messageData = message.data;\n            let session = this.client.config.session;\n            if (!session) {\n                try {\n                    const cookie = JSONbig.parse((_a = window.localStorage.getItem('cookieFallback')) !== null && _a !== void 0 ? _a : '{}');\n                    session = cookie === null || cookie === void 0 ? void 0 : cookie[`a_session_${this.client.config.project}`];\n                }\n                catch (error) {\n                    console.error('Failed to parse cookie fallback:', error);\n                }\n            }\n            if (session && !messageData.user) {\n                (_b = this.socket) === null || _b === void 0 ? void 0 : _b.send(JSONbig.stringify({\n                    type: 'authentication',\n                    data: {\n                        session\n                    }\n                }));\n            }\n            for (const subscriptionId of this.activeSubscriptions.keys()) {\n                this.enqueuePendingSubscribe(subscriptionId);\n            }\n            this.appConnected = true;\n            this.sendPendingSubscribes();\n            this.flushPendingPresence();\n        }\n        handleResponseError(message) {\n            var _a, _b;\n            const error = new AppwriteException(((_a = message.data) === null || _a === void 0 ? void 0 : _a.message) || 'Unknown error');\n            const statusCode = (_b = message.data) === null || _b === void 0 ? void 0 : _b.code;\n            this.onErrorCallbacks.forEach(callback => callback(error, statusCode));\n        }\n        handleResponseEvent(message) {\n            const data = message.data;\n            if (!data) {\n                return;\n            }\n            const channels = data.channels;\n            const events = data.events;\n            const payload = data.payload;\n            const timestamp = data.timestamp;\n            const subscriptions = data.subscriptions;\n            if (!channels || !events || !payload || !subscriptions || subscriptions.length === 0) {\n                return;\n            }\n            for (const subscriptionId of subscriptions) {\n                const subscription = this.activeSubscriptions.get(subscriptionId);\n                if (!subscription) {\n                    continue;\n                }\n                subscription.callback({\n                    events,\n                    channels,\n                    timestamp,\n                    payload,\n                    subscriptions\n                });\n            }\n        }\n    }\n\n    /**\n     * Helper class to generate permission strings for resources.\n     */\n    class Permission {\n    }\n    /**\n     * Generate read permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    Permission.read = (role) => {\n        return `read(\"${role}\")`;\n    };\n    /**\n     * Generate write permission string for the provided role.\n     *\n     * This is an alias of update, delete, and possibly create.\n     * Don't use write in combination with update, delete, or create.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    Permission.write = (role) => {\n        return `write(\"${role}\")`;\n    };\n    /**\n     * Generate create permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    Permission.create = (role) => {\n        return `create(\"${role}\")`;\n    };\n    /**\n     * Generate update permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    Permission.update = (role) => {\n        return `update(\"${role}\")`;\n    };\n    /**\n     * Generate delete permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    Permission.delete = (role) => {\n        return `delete(\"${role}\")`;\n    };\n\n    /**\n     * Helper class to generate role strings for `Permission`.\n     */\n    class Role {\n        /**\n         * Grants access to anyone.\n         *\n         * This includes authenticated and unauthenticated users.\n         *\n         * @returns {string}\n         */\n        static any() {\n            return 'any';\n        }\n        /**\n         * Grants access to a specific user by user ID.\n         *\n         * You can optionally pass verified or unverified for\n         * `status` to target specific types of users.\n         *\n         * @param {string} id\n         * @param {string} status\n         * @returns {string}\n         */\n        static user(id, status = '') {\n            if (status === '') {\n                return `user:${id}`;\n            }\n            return `user:${id}/${status}`;\n        }\n        /**\n         * Grants access to any authenticated or anonymous user.\n         *\n         * You can optionally pass verified or unverified for\n         * `status` to target specific types of users.\n         *\n         * @param {string} status\n         * @returns {string}\n         */\n        static users(status = '') {\n            if (status === '') {\n                return 'users';\n            }\n            return `users/${status}`;\n        }\n        /**\n         * Grants access to any guest user without a session.\n         *\n         * Authenticated users don't have access to this role.\n         *\n         * @returns {string}\n         */\n        static guests() {\n            return 'guests';\n        }\n        /**\n         * Grants access to a team by team ID.\n         *\n         * You can optionally pass a role for `role` to target\n         * team members with the specified role.\n         *\n         * @param {string} id\n         * @param {string} role\n         * @returns {string}\n         */\n        static team(id, role = '') {\n            if (role === '') {\n                return `team:${id}`;\n            }\n            return `team:${id}/${role}`;\n        }\n        /**\n         * Grants access to a specific member of a team.\n         *\n         * When the member is removed from the team, they will\n         * no longer have access.\n         *\n         * @param {string} id\n         * @returns {string}\n         */\n        static member(id) {\n            return `member:${id}`;\n        }\n        /**\n         * Grants access to a user with the specified label.\n         *\n         * @param {string} name\n         * @returns  {string}\n         */\n        static label(name) {\n            return `label:${name}`;\n        }\n    }\n\n    function normalize(id) {\n        if (id === undefined || id === null) {\n            throw new Error(\"Channel ID is required\");\n        }\n        const trimmed = String(id).trim();\n        if (trimmed === \"\") {\n            throw new Error(\"Channel ID is required\");\n        }\n        return trimmed;\n    }\n    class Channel {\n        constructor(segments) {\n            this.segments = segments;\n        }\n        next(segment, id) {\n            const segments = id === undefined\n                ? [...this.segments, segment]\n                : [...this.segments, segment, normalize(id)];\n            return new Channel(segments);\n        }\n        resolve(action) {\n            return new Channel([...this.segments, action]);\n        }\n        toString() {\n            return this.segments.join(\".\");\n        }\n        // --- DATABASE ROUTE ---\n        // Only available on Channel<Database>\n        collection(id) {\n            return this.next(\"collections\", id);\n        }\n        // Only available on Channel<Collection>\n        document(id) {\n            // Default: no document ID segment\n            return this.next(\"documents\", id);\n        }\n        // --- TABLESDB ROUTE ---\n        table(id) {\n            return this.next(\"tables\", id);\n        }\n        row(id) {\n            // Default: no row ID segment\n            return this.next(\"rows\", id);\n        }\n        // --- BUCKET ROUTE ---\n        file(id) {\n            // Default: no file ID segment\n            return this.next(\"files\", id);\n        }\n        // --- TERMINAL ACTIONS ---\n        // Restricted to the Actionable union\n        create() {\n            return this.resolve(\"create\");\n        }\n        upsert() {\n            return this.resolve(\"upsert\");\n        }\n        update() {\n            return this.resolve(\"update\");\n        }\n        delete() {\n            return this.resolve(\"delete\");\n        }\n        // --- ROOT FACTORIES ---\n        static database(id) {\n            return new Channel([\"databases\", normalize(id)]);\n        }\n        static execution(id) {\n            return new Channel([\"executions\", normalize(id)]);\n        }\n        static tablesdb(id) {\n            return new Channel([\"tablesdb\", normalize(id)]);\n        }\n        static bucket(id) {\n            return new Channel([\"buckets\", normalize(id)]);\n        }\n        static function(id) {\n            return new Channel([\"functions\", normalize(id)]);\n        }\n        static team(id) {\n            return new Channel([\"teams\", normalize(id)]);\n        }\n        static membership(id) {\n            return new Channel([\"memberships\", normalize(id)]);\n        }\n        static presence(id) {\n            return new Channel([\"presences\", normalize(id)]);\n        }\n        static account() {\n            return \"account\";\n        }\n        // Global events\n        static documents() {\n            return \"documents\";\n        }\n        static rows() {\n            return \"rows\";\n        }\n        static files() {\n            return \"files\";\n        }\n        static executions() {\n            return \"executions\";\n        }\n        static teams() {\n            return \"teams\";\n        }\n        static memberships() {\n            return \"memberships\";\n        }\n        static presences() {\n            return \"presences\";\n        }\n    }\n\n    exports.Condition = void 0;\n    (function (Condition) {\n        Condition[\"Equal\"] = \"equal\";\n        Condition[\"NotEqual\"] = \"notEqual\";\n        Condition[\"GreaterThan\"] = \"greaterThan\";\n        Condition[\"GreaterThanEqual\"] = \"greaterThanEqual\";\n        Condition[\"LessThan\"] = \"lessThan\";\n        Condition[\"LessThanEqual\"] = \"lessThanEqual\";\n        Condition[\"Contains\"] = \"contains\";\n        Condition[\"IsNull\"] = \"isNull\";\n        Condition[\"IsNotNull\"] = \"isNotNull\";\n    })(exports.Condition || (exports.Condition = {}));\n    /**\n     * Helper class to generate operator strings for atomic operations.\n     */\n    class Operator {\n        /**\n         * Constructor for Operator class.\n         *\n         * @param {string} method\n         * @param {OperatorValues} values\n         */\n        constructor(method, values) {\n            this.method = method;\n            if (values !== undefined) {\n                if (Array.isArray(values)) {\n                    this.values = values;\n                }\n                else {\n                    this.values = [values];\n                }\n            }\n        }\n        /**\n         * Convert the operator object to a JSON string.\n         *\n         * @returns {string}\n         */\n        toString() {\n            return JSON.stringify({\n                method: this.method,\n                values: this.values,\n            });\n        }\n    }\n    /**\n     * Increment a numeric attribute by a specified value.\n     *\n     * @param {number} value\n     * @param {number} max\n     * @returns {string}\n     */\n    Operator.increment = (value = 1, max) => {\n        if (isNaN(value) || !isFinite(value)) {\n            throw new Error(\"Value cannot be NaN or Infinity\");\n        }\n        if (max !== undefined && (isNaN(max) || !isFinite(max))) {\n            throw new Error(\"Max cannot be NaN or Infinity\");\n        }\n        const values = [value];\n        if (max !== undefined) {\n            values.push(max);\n        }\n        return new Operator(\"increment\", values).toString();\n    };\n    /**\n     * Decrement a numeric attribute by a specified value.\n     *\n     * @param {number} value\n     * @param {number} min\n     * @returns {string}\n     */\n    Operator.decrement = (value = 1, min) => {\n        if (isNaN(value) || !isFinite(value)) {\n            throw new Error(\"Value cannot be NaN or Infinity\");\n        }\n        if (min !== undefined && (isNaN(min) || !isFinite(min))) {\n            throw new Error(\"Min cannot be NaN or Infinity\");\n        }\n        const values = [value];\n        if (min !== undefined) {\n            values.push(min);\n        }\n        return new Operator(\"decrement\", values).toString();\n    };\n    /**\n     * Multiply a numeric attribute by a specified factor.\n     *\n     * @param {number} factor\n     * @param {number} max\n     * @returns {string}\n     */\n    Operator.multiply = (factor, max) => {\n        if (isNaN(factor) || !isFinite(factor)) {\n            throw new Error(\"Factor cannot be NaN or Infinity\");\n        }\n        if (max !== undefined && (isNaN(max) || !isFinite(max))) {\n            throw new Error(\"Max cannot be NaN or Infinity\");\n        }\n        const values = [factor];\n        if (max !== undefined) {\n            values.push(max);\n        }\n        return new Operator(\"multiply\", values).toString();\n    };\n    /**\n     * Divide a numeric attribute by a specified divisor.\n     *\n     * @param {number} divisor\n     * @param {number} min\n     * @returns {string}\n     */\n    Operator.divide = (divisor, min) => {\n        if (isNaN(divisor) || !isFinite(divisor)) {\n            throw new Error(\"Divisor cannot be NaN or Infinity\");\n        }\n        if (min !== undefined && (isNaN(min) || !isFinite(min))) {\n            throw new Error(\"Min cannot be NaN or Infinity\");\n        }\n        if (divisor === 0) {\n            throw new Error(\"Divisor cannot be zero\");\n        }\n        const values = [divisor];\n        if (min !== undefined) {\n            values.push(min);\n        }\n        return new Operator(\"divide\", values).toString();\n    };\n    /**\n     * Apply modulo operation on a numeric attribute.\n     *\n     * @param {number} divisor\n     * @returns {string}\n     */\n    Operator.modulo = (divisor) => {\n        if (isNaN(divisor) || !isFinite(divisor)) {\n            throw new Error(\"Divisor cannot be NaN or Infinity\");\n        }\n        if (divisor === 0) {\n            throw new Error(\"Divisor cannot be zero\");\n        }\n        return new Operator(\"modulo\", [divisor]).toString();\n    };\n    /**\n     * Raise a numeric attribute to a specified power.\n     *\n     * @param {number} exponent\n     * @param {number} max\n     * @returns {string}\n     */\n    Operator.power = (exponent, max) => {\n        if (isNaN(exponent) || !isFinite(exponent)) {\n            throw new Error(\"Exponent cannot be NaN or Infinity\");\n        }\n        if (max !== undefined && (isNaN(max) || !isFinite(max))) {\n            throw new Error(\"Max cannot be NaN or Infinity\");\n        }\n        const values = [exponent];\n        if (max !== undefined) {\n            values.push(max);\n        }\n        return new Operator(\"power\", values).toString();\n    };\n    /**\n     * Append values to an array attribute.\n     *\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Operator.arrayAppend = (values) => new Operator(\"arrayAppend\", values).toString();\n    /**\n     * Prepend values to an array attribute.\n     *\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Operator.arrayPrepend = (values) => new Operator(\"arrayPrepend\", values).toString();\n    /**\n     * Insert a value at a specific index in an array attribute.\n     *\n     * @param {number} index\n     * @param {any} value\n     * @returns {string}\n     */\n    Operator.arrayInsert = (index, value) => new Operator(\"arrayInsert\", [index, value]).toString();\n    /**\n     * Remove a value from an array attribute.\n     *\n     * @param {any} value\n     * @returns {string}\n     */\n    Operator.arrayRemove = (value) => new Operator(\"arrayRemove\", [value]).toString();\n    /**\n     * Remove duplicate values from an array attribute.\n     *\n     * @returns {string}\n     */\n    Operator.arrayUnique = () => new Operator(\"arrayUnique\", []).toString();\n    /**\n     * Keep only values that exist in both the current array and the provided array.\n     *\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Operator.arrayIntersect = (values) => new Operator(\"arrayIntersect\", values).toString();\n    /**\n     * Remove values from the array that exist in the provided array.\n     *\n     * @param {any[]} values\n     * @returns {string}\n     */\n    Operator.arrayDiff = (values) => new Operator(\"arrayDiff\", values).toString();\n    /**\n     * Filter array values based on a condition.\n     *\n     * @param {Condition} condition\n     * @param {any} value\n     * @returns {string}\n     */\n    Operator.arrayFilter = (condition, value) => {\n        const values = [condition, value === undefined ? null : value];\n        return new Operator(\"arrayFilter\", values).toString();\n    };\n    /**\n     * Concatenate a value to a string or array attribute.\n     *\n     * @param {any} value\n     * @returns {string}\n     */\n    Operator.stringConcat = (value) => new Operator(\"stringConcat\", [value]).toString();\n    /**\n     * Replace occurrences of a search string with a replacement string.\n     *\n     * @param {string} search\n     * @param {string} replace\n     * @returns {string}\n     */\n    Operator.stringReplace = (search, replace) => new Operator(\"stringReplace\", [search, replace]).toString();\n    /**\n     * Toggle a boolean attribute.\n     *\n     * @returns {string}\n     */\n    Operator.toggle = () => new Operator(\"toggle\", []).toString();\n    /**\n     * Add days to a date attribute.\n     *\n     * @param {number} days\n     * @returns {string}\n     */\n    Operator.dateAddDays = (days) => new Operator(\"dateAddDays\", [days]).toString();\n    /**\n     * Subtract days from a date attribute.\n     *\n     * @param {number} days\n     * @returns {string}\n     */\n    Operator.dateSubDays = (days) => new Operator(\"dateSubDays\", [days]).toString();\n    /**\n     * Set a date attribute to the current date and time.\n     *\n     * @returns {string}\n     */\n    Operator.dateSetNow = () => new Operator(\"dateSetNow\", []).toString();\n\n    exports.AccountKeyScopes = void 0;\n    (function (AccountKeyScopes) {\n        AccountKeyScopes[\"Account\"] = \"account\";\n        AccountKeyScopes[\"TeamsRead\"] = \"teams.read\";\n        AccountKeyScopes[\"TeamsWrite\"] = \"teams.write\";\n    })(exports.AccountKeyScopes || (exports.AccountKeyScopes = {}));\n\n    exports.AuthenticatorType = void 0;\n    (function (AuthenticatorType) {\n        AuthenticatorType[\"Totp\"] = \"totp\";\n    })(exports.AuthenticatorType || (exports.AuthenticatorType = {}));\n\n    exports.AuthenticationFactor = void 0;\n    (function (AuthenticationFactor) {\n        AuthenticationFactor[\"Email\"] = \"email\";\n        AuthenticationFactor[\"Phone\"] = \"phone\";\n        AuthenticationFactor[\"Totp\"] = \"totp\";\n        AuthenticationFactor[\"Recoverycode\"] = \"recoverycode\";\n    })(exports.AuthenticationFactor || (exports.AuthenticationFactor = {}));\n\n    exports.OAuthProvider = void 0;\n    (function (OAuthProvider) {\n        OAuthProvider[\"Amazon\"] = \"amazon\";\n        OAuthProvider[\"Apple\"] = \"apple\";\n        OAuthProvider[\"Auth0\"] = \"auth0\";\n        OAuthProvider[\"Authentik\"] = \"authentik\";\n        OAuthProvider[\"Autodesk\"] = \"autodesk\";\n        OAuthProvider[\"Bitbucket\"] = \"bitbucket\";\n        OAuthProvider[\"Bitly\"] = \"bitly\";\n        OAuthProvider[\"Box\"] = \"box\";\n        OAuthProvider[\"Dailymotion\"] = \"dailymotion\";\n        OAuthProvider[\"Discord\"] = \"discord\";\n        OAuthProvider[\"Disqus\"] = \"disqus\";\n        OAuthProvider[\"Dropbox\"] = \"dropbox\";\n        OAuthProvider[\"Etsy\"] = \"etsy\";\n        OAuthProvider[\"Facebook\"] = \"facebook\";\n        OAuthProvider[\"Figma\"] = \"figma\";\n        OAuthProvider[\"Fusionauth\"] = \"fusionauth\";\n        OAuthProvider[\"Github\"] = \"github\";\n        OAuthProvider[\"Gitlab\"] = \"gitlab\";\n        OAuthProvider[\"Google\"] = \"google\";\n        OAuthProvider[\"Keycloak\"] = \"keycloak\";\n        OAuthProvider[\"Kick\"] = \"kick\";\n        OAuthProvider[\"Linkedin\"] = \"linkedin\";\n        OAuthProvider[\"Microsoft\"] = \"microsoft\";\n        OAuthProvider[\"Notion\"] = \"notion\";\n        OAuthProvider[\"Oidc\"] = \"oidc\";\n        OAuthProvider[\"Okta\"] = \"okta\";\n        OAuthProvider[\"Paypal\"] = \"paypal\";\n        OAuthProvider[\"PaypalSandbox\"] = \"paypalSandbox\";\n        OAuthProvider[\"Podio\"] = \"podio\";\n        OAuthProvider[\"Salesforce\"] = \"salesforce\";\n        OAuthProvider[\"Slack\"] = \"slack\";\n        OAuthProvider[\"Spotify\"] = \"spotify\";\n        OAuthProvider[\"Stripe\"] = \"stripe\";\n        OAuthProvider[\"Tradeshift\"] = \"tradeshift\";\n        OAuthProvider[\"TradeshiftBox\"] = \"tradeshiftBox\";\n        OAuthProvider[\"Twitch\"] = \"twitch\";\n        OAuthProvider[\"Wordpress\"] = \"wordpress\";\n        OAuthProvider[\"X\"] = \"x\";\n        OAuthProvider[\"Yahoo\"] = \"yahoo\";\n        OAuthProvider[\"Yammer\"] = \"yammer\";\n        OAuthProvider[\"Yandex\"] = \"yandex\";\n        OAuthProvider[\"Zoho\"] = \"zoho\";\n        OAuthProvider[\"Zoom\"] = \"zoom\";\n    })(exports.OAuthProvider || (exports.OAuthProvider = {}));\n\n    exports.Browser = void 0;\n    (function (Browser) {\n        Browser[\"AvantBrowser\"] = \"aa\";\n        Browser[\"AndroidWebViewBeta\"] = \"an\";\n        Browser[\"GoogleChrome\"] = \"ch\";\n        Browser[\"GoogleChromeIOS\"] = \"ci\";\n        Browser[\"GoogleChromeMobile\"] = \"cm\";\n        Browser[\"Chromium\"] = \"cr\";\n        Browser[\"MozillaFirefox\"] = \"ff\";\n        Browser[\"Safari\"] = \"sf\";\n        Browser[\"MobileSafari\"] = \"mf\";\n        Browser[\"MicrosoftEdge\"] = \"ps\";\n        Browser[\"MicrosoftEdgeIOS\"] = \"oi\";\n        Browser[\"OperaMini\"] = \"om\";\n        Browser[\"Opera\"] = \"op\";\n        Browser[\"OperaNext\"] = \"on\";\n    })(exports.Browser || (exports.Browser = {}));\n\n    exports.CreditCard = void 0;\n    (function (CreditCard) {\n        CreditCard[\"AmericanExpress\"] = \"amex\";\n        CreditCard[\"Argencard\"] = \"argencard\";\n        CreditCard[\"Cabal\"] = \"cabal\";\n        CreditCard[\"Cencosud\"] = \"cencosud\";\n        CreditCard[\"DinersClub\"] = \"diners\";\n        CreditCard[\"Discover\"] = \"discover\";\n        CreditCard[\"Elo\"] = \"elo\";\n        CreditCard[\"Hipercard\"] = \"hipercard\";\n        CreditCard[\"JCB\"] = \"jcb\";\n        CreditCard[\"Mastercard\"] = \"mastercard\";\n        CreditCard[\"Naranja\"] = \"naranja\";\n        CreditCard[\"TarjetaShopping\"] = \"targeta-shopping\";\n        CreditCard[\"UnionPay\"] = \"unionpay\";\n        CreditCard[\"Visa\"] = \"visa\";\n        CreditCard[\"MIR\"] = \"mir\";\n        CreditCard[\"Maestro\"] = \"maestro\";\n        CreditCard[\"Rupay\"] = \"rupay\";\n    })(exports.CreditCard || (exports.CreditCard = {}));\n\n    exports.Flag = void 0;\n    (function (Flag) {\n        Flag[\"Afghanistan\"] = \"af\";\n        Flag[\"Angola\"] = \"ao\";\n        Flag[\"Albania\"] = \"al\";\n        Flag[\"Andorra\"] = \"ad\";\n        Flag[\"UnitedArabEmirates\"] = \"ae\";\n        Flag[\"Argentina\"] = \"ar\";\n        Flag[\"Armenia\"] = \"am\";\n        Flag[\"AntiguaAndBarbuda\"] = \"ag\";\n        Flag[\"Australia\"] = \"au\";\n        Flag[\"Austria\"] = \"at\";\n        Flag[\"Azerbaijan\"] = \"az\";\n        Flag[\"Burundi\"] = \"bi\";\n        Flag[\"Belgium\"] = \"be\";\n        Flag[\"Benin\"] = \"bj\";\n        Flag[\"BurkinaFaso\"] = \"bf\";\n        Flag[\"Bangladesh\"] = \"bd\";\n        Flag[\"Bulgaria\"] = \"bg\";\n        Flag[\"Bahrain\"] = \"bh\";\n        Flag[\"Bahamas\"] = \"bs\";\n        Flag[\"BosniaAndHerzegovina\"] = \"ba\";\n        Flag[\"Belarus\"] = \"by\";\n        Flag[\"Belize\"] = \"bz\";\n        Flag[\"Bolivia\"] = \"bo\";\n        Flag[\"Brazil\"] = \"br\";\n        Flag[\"Barbados\"] = \"bb\";\n        Flag[\"BruneiDarussalam\"] = \"bn\";\n        Flag[\"Bhutan\"] = \"bt\";\n        Flag[\"Botswana\"] = \"bw\";\n        Flag[\"CentralAfricanRepublic\"] = \"cf\";\n        Flag[\"Canada\"] = \"ca\";\n        Flag[\"Switzerland\"] = \"ch\";\n        Flag[\"Chile\"] = \"cl\";\n        Flag[\"China\"] = \"cn\";\n        Flag[\"CoteDIvoire\"] = \"ci\";\n        Flag[\"Cameroon\"] = \"cm\";\n        Flag[\"DemocraticRepublicOfTheCongo\"] = \"cd\";\n        Flag[\"RepublicOfTheCongo\"] = \"cg\";\n        Flag[\"Colombia\"] = \"co\";\n        Flag[\"Comoros\"] = \"km\";\n        Flag[\"CapeVerde\"] = \"cv\";\n        Flag[\"CostaRica\"] = \"cr\";\n        Flag[\"Cuba\"] = \"cu\";\n        Flag[\"Cyprus\"] = \"cy\";\n        Flag[\"CzechRepublic\"] = \"cz\";\n        Flag[\"Germany\"] = \"de\";\n        Flag[\"Djibouti\"] = \"dj\";\n        Flag[\"Dominica\"] = \"dm\";\n        Flag[\"Denmark\"] = \"dk\";\n        Flag[\"DominicanRepublic\"] = \"do\";\n        Flag[\"Algeria\"] = \"dz\";\n        Flag[\"Ecuador\"] = \"ec\";\n        Flag[\"Egypt\"] = \"eg\";\n        Flag[\"Eritrea\"] = \"er\";\n        Flag[\"Spain\"] = \"es\";\n        Flag[\"Estonia\"] = \"ee\";\n        Flag[\"Ethiopia\"] = \"et\";\n        Flag[\"Finland\"] = \"fi\";\n        Flag[\"Fiji\"] = \"fj\";\n        Flag[\"France\"] = \"fr\";\n        Flag[\"MicronesiaFederatedStatesOf\"] = \"fm\";\n        Flag[\"Gabon\"] = \"ga\";\n        Flag[\"UnitedKingdom\"] = \"gb\";\n        Flag[\"Georgia\"] = \"ge\";\n        Flag[\"Ghana\"] = \"gh\";\n        Flag[\"Guinea\"] = \"gn\";\n        Flag[\"Gambia\"] = \"gm\";\n        Flag[\"GuineaBissau\"] = \"gw\";\n        Flag[\"EquatorialGuinea\"] = \"gq\";\n        Flag[\"Greece\"] = \"gr\";\n        Flag[\"Grenada\"] = \"gd\";\n        Flag[\"Guatemala\"] = \"gt\";\n        Flag[\"Guyana\"] = \"gy\";\n        Flag[\"Honduras\"] = \"hn\";\n        Flag[\"Croatia\"] = \"hr\";\n        Flag[\"Haiti\"] = \"ht\";\n        Flag[\"Hungary\"] = \"hu\";\n        Flag[\"Indonesia\"] = \"id\";\n        Flag[\"India\"] = \"in\";\n        Flag[\"Ireland\"] = \"ie\";\n        Flag[\"IranIslamicRepublicOf\"] = \"ir\";\n        Flag[\"Iraq\"] = \"iq\";\n        Flag[\"Iceland\"] = \"is\";\n        Flag[\"Israel\"] = \"il\";\n        Flag[\"Italy\"] = \"it\";\n        Flag[\"Jamaica\"] = \"jm\";\n        Flag[\"Jordan\"] = \"jo\";\n        Flag[\"Japan\"] = \"jp\";\n        Flag[\"Kazakhstan\"] = \"kz\";\n        Flag[\"Kenya\"] = \"ke\";\n        Flag[\"Kyrgyzstan\"] = \"kg\";\n        Flag[\"Cambodia\"] = \"kh\";\n        Flag[\"Kiribati\"] = \"ki\";\n        Flag[\"SaintKittsAndNevis\"] = \"kn\";\n        Flag[\"SouthKorea\"] = \"kr\";\n        Flag[\"Kuwait\"] = \"kw\";\n        Flag[\"LaoPeopleSDemocraticRepublic\"] = \"la\";\n        Flag[\"Lebanon\"] = \"lb\";\n        Flag[\"Liberia\"] = \"lr\";\n        Flag[\"Libya\"] = \"ly\";\n        Flag[\"SaintLucia\"] = \"lc\";\n        Flag[\"Liechtenstein\"] = \"li\";\n        Flag[\"SriLanka\"] = \"lk\";\n        Flag[\"Lesotho\"] = \"ls\";\n        Flag[\"Lithuania\"] = \"lt\";\n        Flag[\"Luxembourg\"] = \"lu\";\n        Flag[\"Latvia\"] = \"lv\";\n        Flag[\"Morocco\"] = \"ma\";\n        Flag[\"Monaco\"] = \"mc\";\n        Flag[\"Moldova\"] = \"md\";\n        Flag[\"Madagascar\"] = \"mg\";\n        Flag[\"Maldives\"] = \"mv\";\n        Flag[\"Mexico\"] = \"mx\";\n        Flag[\"MarshallIslands\"] = \"mh\";\n        Flag[\"NorthMacedonia\"] = \"mk\";\n        Flag[\"Mali\"] = \"ml\";\n        Flag[\"Malta\"] = \"mt\";\n        Flag[\"Myanmar\"] = \"mm\";\n        Flag[\"Montenegro\"] = \"me\";\n        Flag[\"Mongolia\"] = \"mn\";\n        Flag[\"Mozambique\"] = \"mz\";\n        Flag[\"Mauritania\"] = \"mr\";\n        Flag[\"Mauritius\"] = \"mu\";\n        Flag[\"Malawi\"] = \"mw\";\n        Flag[\"Malaysia\"] = \"my\";\n        Flag[\"Namibia\"] = \"na\";\n        Flag[\"Niger\"] = \"ne\";\n        Flag[\"Nigeria\"] = \"ng\";\n        Flag[\"Nicaragua\"] = \"ni\";\n        Flag[\"Netherlands\"] = \"nl\";\n        Flag[\"Norway\"] = \"no\";\n        Flag[\"Nepal\"] = \"np\";\n        Flag[\"Nauru\"] = \"nr\";\n        Flag[\"NewZealand\"] = \"nz\";\n        Flag[\"Oman\"] = \"om\";\n        Flag[\"Pakistan\"] = \"pk\";\n        Flag[\"Panama\"] = \"pa\";\n        Flag[\"Peru\"] = \"pe\";\n        Flag[\"Philippines\"] = \"ph\";\n        Flag[\"Palau\"] = \"pw\";\n        Flag[\"PapuaNewGuinea\"] = \"pg\";\n        Flag[\"Poland\"] = \"pl\";\n        Flag[\"FrenchPolynesia\"] = \"pf\";\n        Flag[\"NorthKorea\"] = \"kp\";\n        Flag[\"Portugal\"] = \"pt\";\n        Flag[\"Paraguay\"] = \"py\";\n        Flag[\"Qatar\"] = \"qa\";\n        Flag[\"Romania\"] = \"ro\";\n        Flag[\"Russia\"] = \"ru\";\n        Flag[\"Rwanda\"] = \"rw\";\n        Flag[\"SaudiArabia\"] = \"sa\";\n        Flag[\"Sudan\"] = \"sd\";\n        Flag[\"Senegal\"] = \"sn\";\n        Flag[\"Singapore\"] = \"sg\";\n        Flag[\"SolomonIslands\"] = \"sb\";\n        Flag[\"SierraLeone\"] = \"sl\";\n        Flag[\"ElSalvador\"] = \"sv\";\n        Flag[\"SanMarino\"] = \"sm\";\n        Flag[\"Somalia\"] = \"so\";\n        Flag[\"Serbia\"] = \"rs\";\n        Flag[\"SouthSudan\"] = \"ss\";\n        Flag[\"SaoTomeAndPrincipe\"] = \"st\";\n        Flag[\"Suriname\"] = \"sr\";\n        Flag[\"Slovakia\"] = \"sk\";\n        Flag[\"Slovenia\"] = \"si\";\n        Flag[\"Sweden\"] = \"se\";\n        Flag[\"Eswatini\"] = \"sz\";\n        Flag[\"Seychelles\"] = \"sc\";\n        Flag[\"Syria\"] = \"sy\";\n        Flag[\"Chad\"] = \"td\";\n        Flag[\"Togo\"] = \"tg\";\n        Flag[\"Thailand\"] = \"th\";\n        Flag[\"Tajikistan\"] = \"tj\";\n        Flag[\"Turkmenistan\"] = \"tm\";\n        Flag[\"TimorLeste\"] = \"tl\";\n        Flag[\"Tonga\"] = \"to\";\n        Flag[\"TrinidadAndTobago\"] = \"tt\";\n        Flag[\"Tunisia\"] = \"tn\";\n        Flag[\"Turkey\"] = \"tr\";\n        Flag[\"Tuvalu\"] = \"tv\";\n        Flag[\"Tanzania\"] = \"tz\";\n        Flag[\"Uganda\"] = \"ug\";\n        Flag[\"Ukraine\"] = \"ua\";\n        Flag[\"Uruguay\"] = \"uy\";\n        Flag[\"UnitedStates\"] = \"us\";\n        Flag[\"Uzbekistan\"] = \"uz\";\n        Flag[\"VaticanCity\"] = \"va\";\n        Flag[\"SaintVincentAndTheGrenadines\"] = \"vc\";\n        Flag[\"Venezuela\"] = \"ve\";\n        Flag[\"Vietnam\"] = \"vn\";\n        Flag[\"Vanuatu\"] = \"vu\";\n        Flag[\"Samoa\"] = \"ws\";\n        Flag[\"Yemen\"] = \"ye\";\n        Flag[\"SouthAfrica\"] = \"za\";\n        Flag[\"Zambia\"] = \"zm\";\n        Flag[\"Zimbabwe\"] = \"zw\";\n    })(exports.Flag || (exports.Flag = {}));\n\n    exports.BrowserTheme = void 0;\n    (function (BrowserTheme) {\n        BrowserTheme[\"Light\"] = \"light\";\n        BrowserTheme[\"Dark\"] = \"dark\";\n    })(exports.BrowserTheme || (exports.BrowserTheme = {}));\n\n    exports.Timezone = void 0;\n    (function (Timezone) {\n        Timezone[\"AfricaAbidjan\"] = \"africa/abidjan\";\n        Timezone[\"AfricaAccra\"] = \"africa/accra\";\n        Timezone[\"AfricaAddisAbaba\"] = \"africa/addis_ababa\";\n        Timezone[\"AfricaAlgiers\"] = \"africa/algiers\";\n        Timezone[\"AfricaAsmara\"] = \"africa/asmara\";\n        Timezone[\"AfricaBamako\"] = \"africa/bamako\";\n        Timezone[\"AfricaBangui\"] = \"africa/bangui\";\n        Timezone[\"AfricaBanjul\"] = \"africa/banjul\";\n        Timezone[\"AfricaBissau\"] = \"africa/bissau\";\n        Timezone[\"AfricaBlantyre\"] = \"africa/blantyre\";\n        Timezone[\"AfricaBrazzaville\"] = \"africa/brazzaville\";\n        Timezone[\"AfricaBujumbura\"] = \"africa/bujumbura\";\n        Timezone[\"AfricaCairo\"] = \"africa/cairo\";\n        Timezone[\"AfricaCasablanca\"] = \"africa/casablanca\";\n        Timezone[\"AfricaCeuta\"] = \"africa/ceuta\";\n        Timezone[\"AfricaConakry\"] = \"africa/conakry\";\n        Timezone[\"AfricaDakar\"] = \"africa/dakar\";\n        Timezone[\"AfricaDarEsSalaam\"] = \"africa/dar_es_salaam\";\n        Timezone[\"AfricaDjibouti\"] = \"africa/djibouti\";\n        Timezone[\"AfricaDouala\"] = \"africa/douala\";\n        Timezone[\"AfricaElAaiun\"] = \"africa/el_aaiun\";\n        Timezone[\"AfricaFreetown\"] = \"africa/freetown\";\n        Timezone[\"AfricaGaborone\"] = \"africa/gaborone\";\n        Timezone[\"AfricaHarare\"] = \"africa/harare\";\n        Timezone[\"AfricaJohannesburg\"] = \"africa/johannesburg\";\n        Timezone[\"AfricaJuba\"] = \"africa/juba\";\n        Timezone[\"AfricaKampala\"] = \"africa/kampala\";\n        Timezone[\"AfricaKhartoum\"] = \"africa/khartoum\";\n        Timezone[\"AfricaKigali\"] = \"africa/kigali\";\n        Timezone[\"AfricaKinshasa\"] = \"africa/kinshasa\";\n        Timezone[\"AfricaLagos\"] = \"africa/lagos\";\n        Timezone[\"AfricaLibreville\"] = \"africa/libreville\";\n        Timezone[\"AfricaLome\"] = \"africa/lome\";\n        Timezone[\"AfricaLuanda\"] = \"africa/luanda\";\n        Timezone[\"AfricaLubumbashi\"] = \"africa/lubumbashi\";\n        Timezone[\"AfricaLusaka\"] = \"africa/lusaka\";\n        Timezone[\"AfricaMalabo\"] = \"africa/malabo\";\n        Timezone[\"AfricaMaputo\"] = \"africa/maputo\";\n        Timezone[\"AfricaMaseru\"] = \"africa/maseru\";\n        Timezone[\"AfricaMbabane\"] = \"africa/mbabane\";\n        Timezone[\"AfricaMogadishu\"] = \"africa/mogadishu\";\n        Timezone[\"AfricaMonrovia\"] = \"africa/monrovia\";\n        Timezone[\"AfricaNairobi\"] = \"africa/nairobi\";\n        Timezone[\"AfricaNdjamena\"] = \"africa/ndjamena\";\n        Timezone[\"AfricaNiamey\"] = \"africa/niamey\";\n        Timezone[\"AfricaNouakchott\"] = \"africa/nouakchott\";\n        Timezone[\"AfricaOuagadougou\"] = \"africa/ouagadougou\";\n        Timezone[\"AfricaPortonovo\"] = \"africa/porto-novo\";\n        Timezone[\"AfricaSaoTome\"] = \"africa/sao_tome\";\n        Timezone[\"AfricaTripoli\"] = \"africa/tripoli\";\n        Timezone[\"AfricaTunis\"] = \"africa/tunis\";\n        Timezone[\"AfricaWindhoek\"] = \"africa/windhoek\";\n        Timezone[\"AmericaAdak\"] = \"america/adak\";\n        Timezone[\"AmericaAnchorage\"] = \"america/anchorage\";\n        Timezone[\"AmericaAnguilla\"] = \"america/anguilla\";\n        Timezone[\"AmericaAntigua\"] = \"america/antigua\";\n        Timezone[\"AmericaAraguaina\"] = \"america/araguaina\";\n        Timezone[\"AmericaArgentinaBuenosAires\"] = \"america/argentina/buenos_aires\";\n        Timezone[\"AmericaArgentinaCatamarca\"] = \"america/argentina/catamarca\";\n        Timezone[\"AmericaArgentinaCordoba\"] = \"america/argentina/cordoba\";\n        Timezone[\"AmericaArgentinaJujuy\"] = \"america/argentina/jujuy\";\n        Timezone[\"AmericaArgentinaLaRioja\"] = \"america/argentina/la_rioja\";\n        Timezone[\"AmericaArgentinaMendoza\"] = \"america/argentina/mendoza\";\n        Timezone[\"AmericaArgentinaRioGallegos\"] = \"america/argentina/rio_gallegos\";\n        Timezone[\"AmericaArgentinaSalta\"] = \"america/argentina/salta\";\n        Timezone[\"AmericaArgentinaSanJuan\"] = \"america/argentina/san_juan\";\n        Timezone[\"AmericaArgentinaSanLuis\"] = \"america/argentina/san_luis\";\n        Timezone[\"AmericaArgentinaTucuman\"] = \"america/argentina/tucuman\";\n        Timezone[\"AmericaArgentinaUshuaia\"] = \"america/argentina/ushuaia\";\n        Timezone[\"AmericaAruba\"] = \"america/aruba\";\n        Timezone[\"AmericaAsuncion\"] = \"america/asuncion\";\n        Timezone[\"AmericaAtikokan\"] = \"america/atikokan\";\n        Timezone[\"AmericaBahia\"] = \"america/bahia\";\n        Timezone[\"AmericaBahiaBanderas\"] = \"america/bahia_banderas\";\n        Timezone[\"AmericaBarbados\"] = \"america/barbados\";\n        Timezone[\"AmericaBelem\"] = \"america/belem\";\n        Timezone[\"AmericaBelize\"] = \"america/belize\";\n        Timezone[\"AmericaBlancsablon\"] = \"america/blanc-sablon\";\n        Timezone[\"AmericaBoaVista\"] = \"america/boa_vista\";\n        Timezone[\"AmericaBogota\"] = \"america/bogota\";\n        Timezone[\"AmericaBoise\"] = \"america/boise\";\n        Timezone[\"AmericaCambridgeBay\"] = \"america/cambridge_bay\";\n        Timezone[\"AmericaCampoGrande\"] = \"america/campo_grande\";\n        Timezone[\"AmericaCancun\"] = \"america/cancun\";\n        Timezone[\"AmericaCaracas\"] = \"america/caracas\";\n        Timezone[\"AmericaCayenne\"] = \"america/cayenne\";\n        Timezone[\"AmericaCayman\"] = \"america/cayman\";\n        Timezone[\"AmericaChicago\"] = \"america/chicago\";\n        Timezone[\"AmericaChihuahua\"] = \"america/chihuahua\";\n        Timezone[\"AmericaCiudadJuarez\"] = \"america/ciudad_juarez\";\n        Timezone[\"AmericaCostaRica\"] = \"america/costa_rica\";\n        Timezone[\"AmericaCoyhaique\"] = \"america/coyhaique\";\n        Timezone[\"AmericaCreston\"] = \"america/creston\";\n        Timezone[\"AmericaCuiaba\"] = \"america/cuiaba\";\n        Timezone[\"AmericaCuracao\"] = \"america/curacao\";\n        Timezone[\"AmericaDanmarkshavn\"] = \"america/danmarkshavn\";\n        Timezone[\"AmericaDawson\"] = \"america/dawson\";\n        Timezone[\"AmericaDawsonCreek\"] = \"america/dawson_creek\";\n        Timezone[\"AmericaDenver\"] = \"america/denver\";\n        Timezone[\"AmericaDetroit\"] = \"america/detroit\";\n        Timezone[\"AmericaDominica\"] = \"america/dominica\";\n        Timezone[\"AmericaEdmonton\"] = \"america/edmonton\";\n        Timezone[\"AmericaEirunepe\"] = \"america/eirunepe\";\n        Timezone[\"AmericaElSalvador\"] = \"america/el_salvador\";\n        Timezone[\"AmericaFortNelson\"] = \"america/fort_nelson\";\n        Timezone[\"AmericaFortaleza\"] = \"america/fortaleza\";\n        Timezone[\"AmericaGlaceBay\"] = \"america/glace_bay\";\n        Timezone[\"AmericaGooseBay\"] = \"america/goose_bay\";\n        Timezone[\"AmericaGrandTurk\"] = \"america/grand_turk\";\n        Timezone[\"AmericaGrenada\"] = \"america/grenada\";\n        Timezone[\"AmericaGuadeloupe\"] = \"america/guadeloupe\";\n        Timezone[\"AmericaGuatemala\"] = \"america/guatemala\";\n        Timezone[\"AmericaGuayaquil\"] = \"america/guayaquil\";\n        Timezone[\"AmericaGuyana\"] = \"america/guyana\";\n        Timezone[\"AmericaHalifax\"] = \"america/halifax\";\n        Timezone[\"AmericaHavana\"] = \"america/havana\";\n        Timezone[\"AmericaHermosillo\"] = \"america/hermosillo\";\n        Timezone[\"AmericaIndianaIndianapolis\"] = \"america/indiana/indianapolis\";\n        Timezone[\"AmericaIndianaKnox\"] = \"america/indiana/knox\";\n        Timezone[\"AmericaIndianaMarengo\"] = \"america/indiana/marengo\";\n        Timezone[\"AmericaIndianaPetersburg\"] = \"america/indiana/petersburg\";\n        Timezone[\"AmericaIndianaTellCity\"] = \"america/indiana/tell_city\";\n        Timezone[\"AmericaIndianaVevay\"] = \"america/indiana/vevay\";\n        Timezone[\"AmericaIndianaVincennes\"] = \"america/indiana/vincennes\";\n        Timezone[\"AmericaIndianaWinamac\"] = \"america/indiana/winamac\";\n        Timezone[\"AmericaInuvik\"] = \"america/inuvik\";\n        Timezone[\"AmericaIqaluit\"] = \"america/iqaluit\";\n        Timezone[\"AmericaJamaica\"] = \"america/jamaica\";\n        Timezone[\"AmericaJuneau\"] = \"america/juneau\";\n        Timezone[\"AmericaKentuckyLouisville\"] = \"america/kentucky/louisville\";\n        Timezone[\"AmericaKentuckyMonticello\"] = \"america/kentucky/monticello\";\n        Timezone[\"AmericaKralendijk\"] = \"america/kralendijk\";\n        Timezone[\"AmericaLaPaz\"] = \"america/la_paz\";\n        Timezone[\"AmericaLima\"] = \"america/lima\";\n        Timezone[\"AmericaLosAngeles\"] = \"america/los_angeles\";\n        Timezone[\"AmericaLowerPrinces\"] = \"america/lower_princes\";\n        Timezone[\"AmericaMaceio\"] = \"america/maceio\";\n        Timezone[\"AmericaManagua\"] = \"america/managua\";\n        Timezone[\"AmericaManaus\"] = \"america/manaus\";\n        Timezone[\"AmericaMarigot\"] = \"america/marigot\";\n        Timezone[\"AmericaMartinique\"] = \"america/martinique\";\n        Timezone[\"AmericaMatamoros\"] = \"america/matamoros\";\n        Timezone[\"AmericaMazatlan\"] = \"america/mazatlan\";\n        Timezone[\"AmericaMenominee\"] = \"america/menominee\";\n        Timezone[\"AmericaMerida\"] = \"america/merida\";\n        Timezone[\"AmericaMetlakatla\"] = \"america/metlakatla\";\n        Timezone[\"AmericaMexicoCity\"] = \"america/mexico_city\";\n        Timezone[\"AmericaMiquelon\"] = \"america/miquelon\";\n        Timezone[\"AmericaMoncton\"] = \"america/moncton\";\n        Timezone[\"AmericaMonterrey\"] = \"america/monterrey\";\n        Timezone[\"AmericaMontevideo\"] = \"america/montevideo\";\n        Timezone[\"AmericaMontserrat\"] = \"america/montserrat\";\n        Timezone[\"AmericaNassau\"] = \"america/nassau\";\n        Timezone[\"AmericaNewYork\"] = \"america/new_york\";\n        Timezone[\"AmericaNome\"] = \"america/nome\";\n        Timezone[\"AmericaNoronha\"] = \"america/noronha\";\n        Timezone[\"AmericaNorthDakotaBeulah\"] = \"america/north_dakota/beulah\";\n        Timezone[\"AmericaNorthDakotaCenter\"] = \"america/north_dakota/center\";\n        Timezone[\"AmericaNorthDakotaNewSalem\"] = \"america/north_dakota/new_salem\";\n        Timezone[\"AmericaNuuk\"] = \"america/nuuk\";\n        Timezone[\"AmericaOjinaga\"] = \"america/ojinaga\";\n        Timezone[\"AmericaPanama\"] = \"america/panama\";\n        Timezone[\"AmericaParamaribo\"] = \"america/paramaribo\";\n        Timezone[\"AmericaPhoenix\"] = \"america/phoenix\";\n        Timezone[\"AmericaPortauprince\"] = \"america/port-au-prince\";\n        Timezone[\"AmericaPortOfSpain\"] = \"america/port_of_spain\";\n        Timezone[\"AmericaPortoVelho\"] = \"america/porto_velho\";\n        Timezone[\"AmericaPuertoRico\"] = \"america/puerto_rico\";\n        Timezone[\"AmericaPuntaArenas\"] = \"america/punta_arenas\";\n        Timezone[\"AmericaRankinInlet\"] = \"america/rankin_inlet\";\n        Timezone[\"AmericaRecife\"] = \"america/recife\";\n        Timezone[\"AmericaRegina\"] = \"america/regina\";\n        Timezone[\"AmericaResolute\"] = \"america/resolute\";\n        Timezone[\"AmericaRioBranco\"] = \"america/rio_branco\";\n        Timezone[\"AmericaSantarem\"] = \"america/santarem\";\n        Timezone[\"AmericaSantiago\"] = \"america/santiago\";\n        Timezone[\"AmericaSantoDomingo\"] = \"america/santo_domingo\";\n        Timezone[\"AmericaSaoPaulo\"] = \"america/sao_paulo\";\n        Timezone[\"AmericaScoresbysund\"] = \"america/scoresbysund\";\n        Timezone[\"AmericaSitka\"] = \"america/sitka\";\n        Timezone[\"AmericaStBarthelemy\"] = \"america/st_barthelemy\";\n        Timezone[\"AmericaStJohns\"] = \"america/st_johns\";\n        Timezone[\"AmericaStKitts\"] = \"america/st_kitts\";\n        Timezone[\"AmericaStLucia\"] = \"america/st_lucia\";\n        Timezone[\"AmericaStThomas\"] = \"america/st_thomas\";\n        Timezone[\"AmericaStVincent\"] = \"america/st_vincent\";\n        Timezone[\"AmericaSwiftCurrent\"] = \"america/swift_current\";\n        Timezone[\"AmericaTegucigalpa\"] = \"america/tegucigalpa\";\n        Timezone[\"AmericaThule\"] = \"america/thule\";\n        Timezone[\"AmericaTijuana\"] = \"america/tijuana\";\n        Timezone[\"AmericaToronto\"] = \"america/toronto\";\n        Timezone[\"AmericaTortola\"] = \"america/tortola\";\n        Timezone[\"AmericaVancouver\"] = \"america/vancouver\";\n        Timezone[\"AmericaWhitehorse\"] = \"america/whitehorse\";\n        Timezone[\"AmericaWinnipeg\"] = \"america/winnipeg\";\n        Timezone[\"AmericaYakutat\"] = \"america/yakutat\";\n        Timezone[\"AntarcticaCasey\"] = \"antarctica/casey\";\n        Timezone[\"AntarcticaDavis\"] = \"antarctica/davis\";\n        Timezone[\"AntarcticaDumontdurville\"] = \"antarctica/dumontdurville\";\n        Timezone[\"AntarcticaMacquarie\"] = \"antarctica/macquarie\";\n        Timezone[\"AntarcticaMawson\"] = \"antarctica/mawson\";\n        Timezone[\"AntarcticaMcmurdo\"] = \"antarctica/mcmurdo\";\n        Timezone[\"AntarcticaPalmer\"] = \"antarctica/palmer\";\n        Timezone[\"AntarcticaRothera\"] = \"antarctica/rothera\";\n        Timezone[\"AntarcticaSyowa\"] = \"antarctica/syowa\";\n        Timezone[\"AntarcticaTroll\"] = \"antarctica/troll\";\n        Timezone[\"AntarcticaVostok\"] = \"antarctica/vostok\";\n        Timezone[\"ArcticLongyearbyen\"] = \"arctic/longyearbyen\";\n        Timezone[\"AsiaAden\"] = \"asia/aden\";\n        Timezone[\"AsiaAlmaty\"] = \"asia/almaty\";\n        Timezone[\"AsiaAmman\"] = \"asia/amman\";\n        Timezone[\"AsiaAnadyr\"] = \"asia/anadyr\";\n        Timezone[\"AsiaAqtau\"] = \"asia/aqtau\";\n        Timezone[\"AsiaAqtobe\"] = \"asia/aqtobe\";\n        Timezone[\"AsiaAshgabat\"] = \"asia/ashgabat\";\n        Timezone[\"AsiaAtyrau\"] = \"asia/atyrau\";\n        Timezone[\"AsiaBaghdad\"] = \"asia/baghdad\";\n        Timezone[\"AsiaBahrain\"] = \"asia/bahrain\";\n        Timezone[\"AsiaBaku\"] = \"asia/baku\";\n        Timezone[\"AsiaBangkok\"] = \"asia/bangkok\";\n        Timezone[\"AsiaBarnaul\"] = \"asia/barnaul\";\n        Timezone[\"AsiaBeirut\"] = \"asia/beirut\";\n        Timezone[\"AsiaBishkek\"] = \"asia/bishkek\";\n        Timezone[\"AsiaBrunei\"] = \"asia/brunei\";\n        Timezone[\"AsiaChita\"] = \"asia/chita\";\n        Timezone[\"AsiaColombo\"] = \"asia/colombo\";\n        Timezone[\"AsiaDamascus\"] = \"asia/damascus\";\n        Timezone[\"AsiaDhaka\"] = \"asia/dhaka\";\n        Timezone[\"AsiaDili\"] = \"asia/dili\";\n        Timezone[\"AsiaDubai\"] = \"asia/dubai\";\n        Timezone[\"AsiaDushanbe\"] = \"asia/dushanbe\";\n        Timezone[\"AsiaFamagusta\"] = \"asia/famagusta\";\n        Timezone[\"AsiaGaza\"] = \"asia/gaza\";\n        Timezone[\"AsiaHebron\"] = \"asia/hebron\";\n        Timezone[\"AsiaHoChiMinh\"] = \"asia/ho_chi_minh\";\n        Timezone[\"AsiaHongKong\"] = \"asia/hong_kong\";\n        Timezone[\"AsiaHovd\"] = \"asia/hovd\";\n        Timezone[\"AsiaIrkutsk\"] = \"asia/irkutsk\";\n        Timezone[\"AsiaJakarta\"] = \"asia/jakarta\";\n        Timezone[\"AsiaJayapura\"] = \"asia/jayapura\";\n        Timezone[\"AsiaJerusalem\"] = \"asia/jerusalem\";\n        Timezone[\"AsiaKabul\"] = \"asia/kabul\";\n        Timezone[\"AsiaKamchatka\"] = \"asia/kamchatka\";\n        Timezone[\"AsiaKarachi\"] = \"asia/karachi\";\n        Timezone[\"AsiaKathmandu\"] = \"asia/kathmandu\";\n        Timezone[\"AsiaKhandyga\"] = \"asia/khandyga\";\n        Timezone[\"AsiaKolkata\"] = \"asia/kolkata\";\n        Timezone[\"AsiaKrasnoyarsk\"] = \"asia/krasnoyarsk\";\n        Timezone[\"AsiaKualaLumpur\"] = \"asia/kuala_lumpur\";\n        Timezone[\"AsiaKuching\"] = \"asia/kuching\";\n        Timezone[\"AsiaKuwait\"] = \"asia/kuwait\";\n        Timezone[\"AsiaMacau\"] = \"asia/macau\";\n        Timezone[\"AsiaMagadan\"] = \"asia/magadan\";\n        Timezone[\"AsiaMakassar\"] = \"asia/makassar\";\n        Timezone[\"AsiaManila\"] = \"asia/manila\";\n        Timezone[\"AsiaMuscat\"] = \"asia/muscat\";\n        Timezone[\"AsiaNicosia\"] = \"asia/nicosia\";\n        Timezone[\"AsiaNovokuznetsk\"] = \"asia/novokuznetsk\";\n        Timezone[\"AsiaNovosibirsk\"] = \"asia/novosibirsk\";\n        Timezone[\"AsiaOmsk\"] = \"asia/omsk\";\n        Timezone[\"AsiaOral\"] = \"asia/oral\";\n        Timezone[\"AsiaPhnomPenh\"] = \"asia/phnom_penh\";\n        Timezone[\"AsiaPontianak\"] = \"asia/pontianak\";\n        Timezone[\"AsiaPyongyang\"] = \"asia/pyongyang\";\n        Timezone[\"AsiaQatar\"] = \"asia/qatar\";\n        Timezone[\"AsiaQostanay\"] = \"asia/qostanay\";\n        Timezone[\"AsiaQyzylorda\"] = \"asia/qyzylorda\";\n        Timezone[\"AsiaRiyadh\"] = \"asia/riyadh\";\n        Timezone[\"AsiaSakhalin\"] = \"asia/sakhalin\";\n        Timezone[\"AsiaSamarkand\"] = \"asia/samarkand\";\n        Timezone[\"AsiaSeoul\"] = \"asia/seoul\";\n        Timezone[\"AsiaShanghai\"] = \"asia/shanghai\";\n        Timezone[\"AsiaSingapore\"] = \"asia/singapore\";\n        Timezone[\"AsiaSrednekolymsk\"] = \"asia/srednekolymsk\";\n        Timezone[\"AsiaTaipei\"] = \"asia/taipei\";\n        Timezone[\"AsiaTashkent\"] = \"asia/tashkent\";\n        Timezone[\"AsiaTbilisi\"] = \"asia/tbilisi\";\n        Timezone[\"AsiaTehran\"] = \"asia/tehran\";\n        Timezone[\"AsiaThimphu\"] = \"asia/thimphu\";\n        Timezone[\"AsiaTokyo\"] = \"asia/tokyo\";\n        Timezone[\"AsiaTomsk\"] = \"asia/tomsk\";\n        Timezone[\"AsiaUlaanbaatar\"] = \"asia/ulaanbaatar\";\n        Timezone[\"AsiaUrumqi\"] = \"asia/urumqi\";\n        Timezone[\"AsiaUstnera\"] = \"asia/ust-nera\";\n        Timezone[\"AsiaVientiane\"] = \"asia/vientiane\";\n        Timezone[\"AsiaVladivostok\"] = \"asia/vladivostok\";\n        Timezone[\"AsiaYakutsk\"] = \"asia/yakutsk\";\n        Timezone[\"AsiaYangon\"] = \"asia/yangon\";\n        Timezone[\"AsiaYekaterinburg\"] = \"asia/yekaterinburg\";\n        Timezone[\"AsiaYerevan\"] = \"asia/yerevan\";\n        Timezone[\"AtlanticAzores\"] = \"atlantic/azores\";\n        Timezone[\"AtlanticBermuda\"] = \"atlantic/bermuda\";\n        Timezone[\"AtlanticCanary\"] = \"atlantic/canary\";\n        Timezone[\"AtlanticCapeVerde\"] = \"atlantic/cape_verde\";\n        Timezone[\"AtlanticFaroe\"] = \"atlantic/faroe\";\n        Timezone[\"AtlanticMadeira\"] = \"atlantic/madeira\";\n        Timezone[\"AtlanticReykjavik\"] = \"atlantic/reykjavik\";\n        Timezone[\"AtlanticSouthGeorgia\"] = \"atlantic/south_georgia\";\n        Timezone[\"AtlanticStHelena\"] = \"atlantic/st_helena\";\n        Timezone[\"AtlanticStanley\"] = \"atlantic/stanley\";\n        Timezone[\"AustraliaAdelaide\"] = \"australia/adelaide\";\n        Timezone[\"AustraliaBrisbane\"] = \"australia/brisbane\";\n        Timezone[\"AustraliaBrokenHill\"] = \"australia/broken_hill\";\n        Timezone[\"AustraliaDarwin\"] = \"australia/darwin\";\n        Timezone[\"AustraliaEucla\"] = \"australia/eucla\";\n        Timezone[\"AustraliaHobart\"] = \"australia/hobart\";\n        Timezone[\"AustraliaLindeman\"] = \"australia/lindeman\";\n        Timezone[\"AustraliaLordHowe\"] = \"australia/lord_howe\";\n        Timezone[\"AustraliaMelbourne\"] = \"australia/melbourne\";\n        Timezone[\"AustraliaPerth\"] = \"australia/perth\";\n        Timezone[\"AustraliaSydney\"] = \"australia/sydney\";\n        Timezone[\"EuropeAmsterdam\"] = \"europe/amsterdam\";\n        Timezone[\"EuropeAndorra\"] = \"europe/andorra\";\n        Timezone[\"EuropeAstrakhan\"] = \"europe/astrakhan\";\n        Timezone[\"EuropeAthens\"] = \"europe/athens\";\n        Timezone[\"EuropeBelgrade\"] = \"europe/belgrade\";\n        Timezone[\"EuropeBerlin\"] = \"europe/berlin\";\n        Timezone[\"EuropeBratislava\"] = \"europe/bratislava\";\n        Timezone[\"EuropeBrussels\"] = \"europe/brussels\";\n        Timezone[\"EuropeBucharest\"] = \"europe/bucharest\";\n        Timezone[\"EuropeBudapest\"] = \"europe/budapest\";\n        Timezone[\"EuropeBusingen\"] = \"europe/busingen\";\n        Timezone[\"EuropeChisinau\"] = \"europe/chisinau\";\n        Timezone[\"EuropeCopenhagen\"] = \"europe/copenhagen\";\n        Timezone[\"EuropeDublin\"] = \"europe/dublin\";\n        Timezone[\"EuropeGibraltar\"] = \"europe/gibraltar\";\n        Timezone[\"EuropeGuernsey\"] = \"europe/guernsey\";\n        Timezone[\"EuropeHelsinki\"] = \"europe/helsinki\";\n        Timezone[\"EuropeIsleOfMan\"] = \"europe/isle_of_man\";\n        Timezone[\"EuropeIstanbul\"] = \"europe/istanbul\";\n        Timezone[\"EuropeJersey\"] = \"europe/jersey\";\n        Timezone[\"EuropeKaliningrad\"] = \"europe/kaliningrad\";\n        Timezone[\"EuropeKirov\"] = \"europe/kirov\";\n        Timezone[\"EuropeKyiv\"] = \"europe/kyiv\";\n        Timezone[\"EuropeLisbon\"] = \"europe/lisbon\";\n        Timezone[\"EuropeLjubljana\"] = \"europe/ljubljana\";\n        Timezone[\"EuropeLondon\"] = \"europe/london\";\n        Timezone[\"EuropeLuxembourg\"] = \"europe/luxembourg\";\n        Timezone[\"EuropeMadrid\"] = \"europe/madrid\";\n        Timezone[\"EuropeMalta\"] = \"europe/malta\";\n        Timezone[\"EuropeMariehamn\"] = \"europe/mariehamn\";\n        Timezone[\"EuropeMinsk\"] = \"europe/minsk\";\n        Timezone[\"EuropeMonaco\"] = \"europe/monaco\";\n        Timezone[\"EuropeMoscow\"] = \"europe/moscow\";\n        Timezone[\"EuropeOslo\"] = \"europe/oslo\";\n        Timezone[\"EuropeParis\"] = \"europe/paris\";\n        Timezone[\"EuropePodgorica\"] = \"europe/podgorica\";\n        Timezone[\"EuropePrague\"] = \"europe/prague\";\n        Timezone[\"EuropeRiga\"] = \"europe/riga\";\n        Timezone[\"EuropeRome\"] = \"europe/rome\";\n        Timezone[\"EuropeSamara\"] = \"europe/samara\";\n        Timezone[\"EuropeSanMarino\"] = \"europe/san_marino\";\n        Timezone[\"EuropeSarajevo\"] = \"europe/sarajevo\";\n        Timezone[\"EuropeSaratov\"] = \"europe/saratov\";\n        Timezone[\"EuropeSimferopol\"] = \"europe/simferopol\";\n        Timezone[\"EuropeSkopje\"] = \"europe/skopje\";\n        Timezone[\"EuropeSofia\"] = \"europe/sofia\";\n        Timezone[\"EuropeStockholm\"] = \"europe/stockholm\";\n        Timezone[\"EuropeTallinn\"] = \"europe/tallinn\";\n        Timezone[\"EuropeTirane\"] = \"europe/tirane\";\n        Timezone[\"EuropeUlyanovsk\"] = \"europe/ulyanovsk\";\n        Timezone[\"EuropeVaduz\"] = \"europe/vaduz\";\n        Timezone[\"EuropeVatican\"] = \"europe/vatican\";\n        Timezone[\"EuropeVienna\"] = \"europe/vienna\";\n        Timezone[\"EuropeVilnius\"] = \"europe/vilnius\";\n        Timezone[\"EuropeVolgograd\"] = \"europe/volgograd\";\n        Timezone[\"EuropeWarsaw\"] = \"europe/warsaw\";\n        Timezone[\"EuropeZagreb\"] = \"europe/zagreb\";\n        Timezone[\"EuropeZurich\"] = \"europe/zurich\";\n        Timezone[\"IndianAntananarivo\"] = \"indian/antananarivo\";\n        Timezone[\"IndianChagos\"] = \"indian/chagos\";\n        Timezone[\"IndianChristmas\"] = \"indian/christmas\";\n        Timezone[\"IndianCocos\"] = \"indian/cocos\";\n        Timezone[\"IndianComoro\"] = \"indian/comoro\";\n        Timezone[\"IndianKerguelen\"] = \"indian/kerguelen\";\n        Timezone[\"IndianMahe\"] = \"indian/mahe\";\n        Timezone[\"IndianMaldives\"] = \"indian/maldives\";\n        Timezone[\"IndianMauritius\"] = \"indian/mauritius\";\n        Timezone[\"IndianMayotte\"] = \"indian/mayotte\";\n        Timezone[\"IndianReunion\"] = \"indian/reunion\";\n        Timezone[\"PacificApia\"] = \"pacific/apia\";\n        Timezone[\"PacificAuckland\"] = \"pacific/auckland\";\n        Timezone[\"PacificBougainville\"] = \"pacific/bougainville\";\n        Timezone[\"PacificChatham\"] = \"pacific/chatham\";\n        Timezone[\"PacificChuuk\"] = \"pacific/chuuk\";\n        Timezone[\"PacificEaster\"] = \"pacific/easter\";\n        Timezone[\"PacificEfate\"] = \"pacific/efate\";\n        Timezone[\"PacificFakaofo\"] = \"pacific/fakaofo\";\n        Timezone[\"PacificFiji\"] = \"pacific/fiji\";\n        Timezone[\"PacificFunafuti\"] = \"pacific/funafuti\";\n        Timezone[\"PacificGalapagos\"] = \"pacific/galapagos\";\n        Timezone[\"PacificGambier\"] = \"pacific/gambier\";\n        Timezone[\"PacificGuadalcanal\"] = \"pacific/guadalcanal\";\n        Timezone[\"PacificGuam\"] = \"pacific/guam\";\n        Timezone[\"PacificHonolulu\"] = \"pacific/honolulu\";\n        Timezone[\"PacificKanton\"] = \"pacific/kanton\";\n        Timezone[\"PacificKiritimati\"] = \"pacific/kiritimati\";\n        Timezone[\"PacificKosrae\"] = \"pacific/kosrae\";\n        Timezone[\"PacificKwajalein\"] = \"pacific/kwajalein\";\n        Timezone[\"PacificMajuro\"] = \"pacific/majuro\";\n        Timezone[\"PacificMarquesas\"] = \"pacific/marquesas\";\n        Timezone[\"PacificMidway\"] = \"pacific/midway\";\n        Timezone[\"PacificNauru\"] = \"pacific/nauru\";\n        Timezone[\"PacificNiue\"] = \"pacific/niue\";\n        Timezone[\"PacificNorfolk\"] = \"pacific/norfolk\";\n        Timezone[\"PacificNoumea\"] = \"pacific/noumea\";\n        Timezone[\"PacificPagoPago\"] = \"pacific/pago_pago\";\n        Timezone[\"PacificPalau\"] = \"pacific/palau\";\n        Timezone[\"PacificPitcairn\"] = \"pacific/pitcairn\";\n        Timezone[\"PacificPohnpei\"] = \"pacific/pohnpei\";\n        Timezone[\"PacificPortMoresby\"] = \"pacific/port_moresby\";\n        Timezone[\"PacificRarotonga\"] = \"pacific/rarotonga\";\n        Timezone[\"PacificSaipan\"] = \"pacific/saipan\";\n        Timezone[\"PacificTahiti\"] = \"pacific/tahiti\";\n        Timezone[\"PacificTarawa\"] = \"pacific/tarawa\";\n        Timezone[\"PacificTongatapu\"] = \"pacific/tongatapu\";\n        Timezone[\"PacificWake\"] = \"pacific/wake\";\n        Timezone[\"PacificWallis\"] = \"pacific/wallis\";\n        Timezone[\"Utc\"] = \"utc\";\n    })(exports.Timezone || (exports.Timezone = {}));\n\n    exports.BrowserPermission = void 0;\n    (function (BrowserPermission) {\n        BrowserPermission[\"Geolocation\"] = \"geolocation\";\n        BrowserPermission[\"Camera\"] = \"camera\";\n        BrowserPermission[\"Microphone\"] = \"microphone\";\n        BrowserPermission[\"Notifications\"] = \"notifications\";\n        BrowserPermission[\"Midi\"] = \"midi\";\n        BrowserPermission[\"Push\"] = \"push\";\n        BrowserPermission[\"Clipboardread\"] = \"clipboard-read\";\n        BrowserPermission[\"Clipboardwrite\"] = \"clipboard-write\";\n        BrowserPermission[\"Paymenthandler\"] = \"payment-handler\";\n        BrowserPermission[\"Usb\"] = \"usb\";\n        BrowserPermission[\"Bluetooth\"] = \"bluetooth\";\n        BrowserPermission[\"Accelerometer\"] = \"accelerometer\";\n        BrowserPermission[\"Gyroscope\"] = \"gyroscope\";\n        BrowserPermission[\"Magnetometer\"] = \"magnetometer\";\n        BrowserPermission[\"Ambientlightsensor\"] = \"ambient-light-sensor\";\n        BrowserPermission[\"Backgroundsync\"] = \"background-sync\";\n        BrowserPermission[\"Persistentstorage\"] = \"persistent-storage\";\n        BrowserPermission[\"Screenwakelock\"] = \"screen-wake-lock\";\n        BrowserPermission[\"Webshare\"] = \"web-share\";\n        BrowserPermission[\"Xrspatialtracking\"] = \"xr-spatial-tracking\";\n    })(exports.BrowserPermission || (exports.BrowserPermission = {}));\n\n    exports.ImageFormat = void 0;\n    (function (ImageFormat) {\n        ImageFormat[\"Jpg\"] = \"jpg\";\n        ImageFormat[\"Jpeg\"] = \"jpeg\";\n        ImageFormat[\"Png\"] = \"png\";\n        ImageFormat[\"Webp\"] = \"webp\";\n        ImageFormat[\"Heic\"] = \"heic\";\n        ImageFormat[\"Avif\"] = \"avif\";\n        ImageFormat[\"Gif\"] = \"gif\";\n    })(exports.ImageFormat || (exports.ImageFormat = {}));\n\n    exports.BackupServices = void 0;\n    (function (BackupServices) {\n        BackupServices[\"Databases\"] = \"databases\";\n        BackupServices[\"Tablesdb\"] = \"tablesdb\";\n        BackupServices[\"Documentsdb\"] = \"documentsdb\";\n        BackupServices[\"Vectorsdb\"] = \"vectorsdb\";\n        BackupServices[\"DedicatedDatabases\"] = \"dedicatedDatabases\";\n        BackupServices[\"Functions\"] = \"functions\";\n        BackupServices[\"Storage\"] = \"storage\";\n    })(exports.BackupServices || (exports.BackupServices = {}));\n\n    exports.Platform = void 0;\n    (function (Platform) {\n        Platform[\"Appwrite\"] = \"appwrite\";\n        Platform[\"Imagine\"] = \"imagine\";\n    })(exports.Platform || (exports.Platform = {}));\n\n    exports.ConsoleResourceType = void 0;\n    (function (ConsoleResourceType) {\n        ConsoleResourceType[\"Rules\"] = \"rules\";\n    })(exports.ConsoleResourceType || (exports.ConsoleResourceType = {}));\n\n    exports.QuerySuggestionResource = void 0;\n    (function (QuerySuggestionResource) {\n        QuerySuggestionResource[\"Activities\"] = \"activities\";\n        QuerySuggestionResource[\"ActivityEvents\"] = \"activityevents\";\n        QuerySuggestionResource[\"Archives\"] = \"archives\";\n        QuerySuggestionResource[\"Credits\"] = \"credits\";\n        QuerySuggestionResource[\"DnsRecords\"] = \"dnsrecords\";\n        QuerySuggestionResource[\"Domains\"] = \"domains\";\n        QuerySuggestionResource[\"Invoices\"] = \"invoices\";\n        QuerySuggestionResource[\"PaymentMethods\"] = \"paymentmethods\";\n        QuerySuggestionResource[\"Policies\"] = \"policies\";\n        QuerySuggestionResource[\"Projects\"] = \"projects\";\n        QuerySuggestionResource[\"Restorations\"] = \"restorations\";\n        QuerySuggestionResource[\"TeamAggregations\"] = \"teamaggregations\";\n        QuerySuggestionResource[\"Teams\"] = \"teams\";\n        QuerySuggestionResource[\"Databases\"] = \"databases\";\n        QuerySuggestionResource[\"Tables\"] = \"tables\";\n        QuerySuggestionResource[\"Rows\"] = \"rows\";\n        QuerySuggestionResource[\"Schedules\"] = \"schedules\";\n        QuerySuggestionResource[\"Platforms\"] = \"platforms\";\n        QuerySuggestionResource[\"Keys\"] = \"keys\";\n        QuerySuggestionResource[\"DevKeys\"] = \"devkeys\";\n        QuerySuggestionResource[\"Webhooks\"] = \"webhooks\";\n        QuerySuggestionResource[\"Certificates\"] = \"certificates\";\n        QuerySuggestionResource[\"Realtime\"] = \"realtime\";\n        QuerySuggestionResource[\"Rules\"] = \"rules\";\n        QuerySuggestionResource[\"Installations\"] = \"installations\";\n        QuerySuggestionResource[\"Repositories\"] = \"repositories\";\n        QuerySuggestionResource[\"VcsComments\"] = \"vcscomments\";\n        QuerySuggestionResource[\"VcsCommentLocks\"] = \"vcscommentlocks\";\n        QuerySuggestionResource[\"Reports\"] = \"reports\";\n        QuerySuggestionResource[\"Insights\"] = \"insights\";\n        QuerySuggestionResource[\"Users\"] = \"users\";\n        QuerySuggestionResource[\"Cache\"] = \"cache\";\n        QuerySuggestionResource[\"Tokens\"] = \"tokens\";\n        QuerySuggestionResource[\"Authenticators\"] = \"authenticators\";\n        QuerySuggestionResource[\"Challenges\"] = \"challenges\";\n        QuerySuggestionResource[\"Sessions\"] = \"sessions\";\n        QuerySuggestionResource[\"Identities\"] = \"identities\";\n        QuerySuggestionResource[\"Memberships\"] = \"memberships\";\n        QuerySuggestionResource[\"Buckets\"] = \"buckets\";\n        QuerySuggestionResource[\"Providers\"] = \"providers\";\n        QuerySuggestionResource[\"Messages\"] = \"messages\";\n        QuerySuggestionResource[\"Topics\"] = \"topics\";\n        QuerySuggestionResource[\"Subscribers\"] = \"subscribers\";\n        QuerySuggestionResource[\"Targets\"] = \"targets\";\n        QuerySuggestionResource[\"PresenceLogs\"] = \"presencelogs\";\n        QuerySuggestionResource[\"Companies\"] = \"companies\";\n        QuerySuggestionResource[\"BillingAddresses\"] = \"billingaddresses\";\n        QuerySuggestionResource[\"BillingAggregations\"] = \"billingaggregations\";\n        QuerySuggestionResource[\"BillingAggregationResources\"] = \"billingaggregationresources\";\n        QuerySuggestionResource[\"BillingTeamProjectAggregations\"] = \"billingteamprojectaggregations\";\n        QuerySuggestionResource[\"BillingTeamAggregationsV2\"] = \"billingteamaggregations_v2\";\n        QuerySuggestionResource[\"BillingTeamAggregationResources\"] = \"billingteamaggregationresources\";\n        QuerySuggestionResource[\"BillingInvoicesV2\"] = \"billinginvoices_v2\";\n        QuerySuggestionResource[\"BillingAddons\"] = \"billingaddons\";\n        QuerySuggestionResource[\"Alerts\"] = \"alerts\";\n        QuerySuggestionResource[\"Payments\"] = \"payments\";\n        QuerySuggestionResource[\"BillingDiscounts\"] = \"billingdiscounts\";\n        QuerySuggestionResource[\"Sources\"] = \"sources\";\n        QuerySuggestionResource[\"Deals\"] = \"deals\";\n        QuerySuggestionResource[\"Blocks\"] = \"blocks\";\n        QuerySuggestionResource[\"Threats\"] = \"threats\";\n        QuerySuggestionResource[\"Feedbacks\"] = \"feedbacks\";\n        QuerySuggestionResource[\"ShInstallations\"] = \"sh_installations\";\n        QuerySuggestionResource[\"Apps\"] = \"apps\";\n        QuerySuggestionResource[\"AppSecrets\"] = \"appsecrets\";\n        QuerySuggestionResource[\"Oauth2Grants\"] = \"oauth2grants\";\n        QuerySuggestionResource[\"Attributes\"] = \"attributes\";\n        QuerySuggestionResource[\"Indexes\"] = \"indexes\";\n        QuerySuggestionResource[\"Functions\"] = \"functions\";\n        QuerySuggestionResource[\"Sites\"] = \"sites\";\n        QuerySuggestionResource[\"Deployments\"] = \"deployments\";\n        QuerySuggestionResource[\"Executions\"] = \"executions\";\n        QuerySuggestionResource[\"Variables\"] = \"variables\";\n        QuerySuggestionResource[\"Migrations\"] = \"migrations\";\n        QuerySuggestionResource[\"ResourceTokens\"] = \"resourcetokens\";\n        QuerySuggestionResource[\"Transactions\"] = \"transactions\";\n        QuerySuggestionResource[\"TransactionLogs\"] = \"transactionlogs\";\n        QuerySuggestionResource[\"Stats\"] = \"stats\";\n        QuerySuggestionResource[\"DedicatedDatabases\"] = \"dedicateddatabases\";\n        QuerySuggestionResource[\"DedicatedDatabaseConfigs\"] = \"dedicateddatabaseconfigs\";\n        QuerySuggestionResource[\"DedicatedDatabaseRuntimes\"] = \"dedicateddatabaseruntimes\";\n        QuerySuggestionResource[\"DedicatedDatabaseOperations\"] = \"dedicateddatabaseoperations\";\n        QuerySuggestionResource[\"DedicatedDatabaseBackups\"] = \"dedicateddatabasebackups\";\n        QuerySuggestionResource[\"DedicatedDatabaseRestorations\"] = \"dedicateddatabaserestorations\";\n    })(exports.QuerySuggestionResource || (exports.QuerySuggestionResource = {}));\n\n    exports.ProjectEmailTemplateId = void 0;\n    (function (ProjectEmailTemplateId) {\n        ProjectEmailTemplateId[\"Verification\"] = \"verification\";\n        ProjectEmailTemplateId[\"MagicSession\"] = \"magicSession\";\n        ProjectEmailTemplateId[\"Recovery\"] = \"recovery\";\n        ProjectEmailTemplateId[\"Invitation\"] = \"invitation\";\n        ProjectEmailTemplateId[\"MfaChallenge\"] = \"mfaChallenge\";\n        ProjectEmailTemplateId[\"SessionAlert\"] = \"sessionAlert\";\n        ProjectEmailTemplateId[\"OtpSession\"] = \"otpSession\";\n    })(exports.ProjectEmailTemplateId || (exports.ProjectEmailTemplateId = {}));\n\n    exports.ProjectEmailTemplateLocale = void 0;\n    (function (ProjectEmailTemplateLocale) {\n        ProjectEmailTemplateLocale[\"Af\"] = \"af\";\n        ProjectEmailTemplateLocale[\"Arae\"] = \"ar-ae\";\n        ProjectEmailTemplateLocale[\"Arbh\"] = \"ar-bh\";\n        ProjectEmailTemplateLocale[\"Ardz\"] = \"ar-dz\";\n        ProjectEmailTemplateLocale[\"Areg\"] = \"ar-eg\";\n        ProjectEmailTemplateLocale[\"Ariq\"] = \"ar-iq\";\n        ProjectEmailTemplateLocale[\"Arjo\"] = \"ar-jo\";\n        ProjectEmailTemplateLocale[\"Arkw\"] = \"ar-kw\";\n        ProjectEmailTemplateLocale[\"Arlb\"] = \"ar-lb\";\n        ProjectEmailTemplateLocale[\"Arly\"] = \"ar-ly\";\n        ProjectEmailTemplateLocale[\"Arma\"] = \"ar-ma\";\n        ProjectEmailTemplateLocale[\"Arom\"] = \"ar-om\";\n        ProjectEmailTemplateLocale[\"Arqa\"] = \"ar-qa\";\n        ProjectEmailTemplateLocale[\"Arsa\"] = \"ar-sa\";\n        ProjectEmailTemplateLocale[\"Arsy\"] = \"ar-sy\";\n        ProjectEmailTemplateLocale[\"Artn\"] = \"ar-tn\";\n        ProjectEmailTemplateLocale[\"Arye\"] = \"ar-ye\";\n        ProjectEmailTemplateLocale[\"As\"] = \"as\";\n        ProjectEmailTemplateLocale[\"Az\"] = \"az\";\n        ProjectEmailTemplateLocale[\"Be\"] = \"be\";\n        ProjectEmailTemplateLocale[\"Bg\"] = \"bg\";\n        ProjectEmailTemplateLocale[\"Bh\"] = \"bh\";\n        ProjectEmailTemplateLocale[\"Bn\"] = \"bn\";\n        ProjectEmailTemplateLocale[\"Bs\"] = \"bs\";\n        ProjectEmailTemplateLocale[\"Ca\"] = \"ca\";\n        ProjectEmailTemplateLocale[\"Cs\"] = \"cs\";\n        ProjectEmailTemplateLocale[\"Cy\"] = \"cy\";\n        ProjectEmailTemplateLocale[\"Da\"] = \"da\";\n        ProjectEmailTemplateLocale[\"De\"] = \"de\";\n        ProjectEmailTemplateLocale[\"Deat\"] = \"de-at\";\n        ProjectEmailTemplateLocale[\"Dech\"] = \"de-ch\";\n        ProjectEmailTemplateLocale[\"Deli\"] = \"de-li\";\n        ProjectEmailTemplateLocale[\"Delu\"] = \"de-lu\";\n        ProjectEmailTemplateLocale[\"El\"] = \"el\";\n        ProjectEmailTemplateLocale[\"En\"] = \"en\";\n        ProjectEmailTemplateLocale[\"Enau\"] = \"en-au\";\n        ProjectEmailTemplateLocale[\"Enbz\"] = \"en-bz\";\n        ProjectEmailTemplateLocale[\"Enca\"] = \"en-ca\";\n        ProjectEmailTemplateLocale[\"Engb\"] = \"en-gb\";\n        ProjectEmailTemplateLocale[\"Enie\"] = \"en-ie\";\n        ProjectEmailTemplateLocale[\"Enjm\"] = \"en-jm\";\n        ProjectEmailTemplateLocale[\"Ennz\"] = \"en-nz\";\n        ProjectEmailTemplateLocale[\"Entt\"] = \"en-tt\";\n        ProjectEmailTemplateLocale[\"Enus\"] = \"en-us\";\n        ProjectEmailTemplateLocale[\"Enza\"] = \"en-za\";\n        ProjectEmailTemplateLocale[\"Eo\"] = \"eo\";\n        ProjectEmailTemplateLocale[\"Es\"] = \"es\";\n        ProjectEmailTemplateLocale[\"Esar\"] = \"es-ar\";\n        ProjectEmailTemplateLocale[\"Esbo\"] = \"es-bo\";\n        ProjectEmailTemplateLocale[\"Escl\"] = \"es-cl\";\n        ProjectEmailTemplateLocale[\"Esco\"] = \"es-co\";\n        ProjectEmailTemplateLocale[\"Escr\"] = \"es-cr\";\n        ProjectEmailTemplateLocale[\"Esdo\"] = \"es-do\";\n        ProjectEmailTemplateLocale[\"Esec\"] = \"es-ec\";\n        ProjectEmailTemplateLocale[\"Esgt\"] = \"es-gt\";\n        ProjectEmailTemplateLocale[\"Eshn\"] = \"es-hn\";\n        ProjectEmailTemplateLocale[\"Esmx\"] = \"es-mx\";\n        ProjectEmailTemplateLocale[\"Esni\"] = \"es-ni\";\n        ProjectEmailTemplateLocale[\"Espa\"] = \"es-pa\";\n        ProjectEmailTemplateLocale[\"Espe\"] = \"es-pe\";\n        ProjectEmailTemplateLocale[\"Espr\"] = \"es-pr\";\n        ProjectEmailTemplateLocale[\"Espy\"] = \"es-py\";\n        ProjectEmailTemplateLocale[\"Essv\"] = \"es-sv\";\n        ProjectEmailTemplateLocale[\"Esuy\"] = \"es-uy\";\n        ProjectEmailTemplateLocale[\"Esve\"] = \"es-ve\";\n        ProjectEmailTemplateLocale[\"Et\"] = \"et\";\n        ProjectEmailTemplateLocale[\"Eu\"] = \"eu\";\n        ProjectEmailTemplateLocale[\"Fa\"] = \"fa\";\n        ProjectEmailTemplateLocale[\"Fi\"] = \"fi\";\n        ProjectEmailTemplateLocale[\"Fo\"] = \"fo\";\n        ProjectEmailTemplateLocale[\"Fr\"] = \"fr\";\n        ProjectEmailTemplateLocale[\"Frbe\"] = \"fr-be\";\n        ProjectEmailTemplateLocale[\"Frca\"] = \"fr-ca\";\n        ProjectEmailTemplateLocale[\"Frch\"] = \"fr-ch\";\n        ProjectEmailTemplateLocale[\"Frlu\"] = \"fr-lu\";\n        ProjectEmailTemplateLocale[\"Ga\"] = \"ga\";\n        ProjectEmailTemplateLocale[\"Gd\"] = \"gd\";\n        ProjectEmailTemplateLocale[\"He\"] = \"he\";\n        ProjectEmailTemplateLocale[\"Hi\"] = \"hi\";\n        ProjectEmailTemplateLocale[\"Hr\"] = \"hr\";\n        ProjectEmailTemplateLocale[\"Hu\"] = \"hu\";\n        ProjectEmailTemplateLocale[\"Id\"] = \"id\";\n        ProjectEmailTemplateLocale[\"Is\"] = \"is\";\n        ProjectEmailTemplateLocale[\"It\"] = \"it\";\n        ProjectEmailTemplateLocale[\"Itch\"] = \"it-ch\";\n        ProjectEmailTemplateLocale[\"Ja\"] = \"ja\";\n        ProjectEmailTemplateLocale[\"Ji\"] = \"ji\";\n        ProjectEmailTemplateLocale[\"Ko\"] = \"ko\";\n        ProjectEmailTemplateLocale[\"Ku\"] = \"ku\";\n        ProjectEmailTemplateLocale[\"Lt\"] = \"lt\";\n        ProjectEmailTemplateLocale[\"Lv\"] = \"lv\";\n        ProjectEmailTemplateLocale[\"Mk\"] = \"mk\";\n        ProjectEmailTemplateLocale[\"Ml\"] = \"ml\";\n        ProjectEmailTemplateLocale[\"Ms\"] = \"ms\";\n        ProjectEmailTemplateLocale[\"Mt\"] = \"mt\";\n        ProjectEmailTemplateLocale[\"Nb\"] = \"nb\";\n        ProjectEmailTemplateLocale[\"Ne\"] = \"ne\";\n        ProjectEmailTemplateLocale[\"Nl\"] = \"nl\";\n        ProjectEmailTemplateLocale[\"Nlbe\"] = \"nl-be\";\n        ProjectEmailTemplateLocale[\"Nn\"] = \"nn\";\n        ProjectEmailTemplateLocale[\"No\"] = \"no\";\n        ProjectEmailTemplateLocale[\"Pa\"] = \"pa\";\n        ProjectEmailTemplateLocale[\"Pl\"] = \"pl\";\n        ProjectEmailTemplateLocale[\"Pt\"] = \"pt\";\n        ProjectEmailTemplateLocale[\"Ptbr\"] = \"pt-br\";\n        ProjectEmailTemplateLocale[\"Rm\"] = \"rm\";\n        ProjectEmailTemplateLocale[\"Ro\"] = \"ro\";\n        ProjectEmailTemplateLocale[\"Romd\"] = \"ro-md\";\n        ProjectEmailTemplateLocale[\"Ru\"] = \"ru\";\n        ProjectEmailTemplateLocale[\"Rumd\"] = \"ru-md\";\n        ProjectEmailTemplateLocale[\"Sb\"] = \"sb\";\n        ProjectEmailTemplateLocale[\"Sk\"] = \"sk\";\n        ProjectEmailTemplateLocale[\"Sl\"] = \"sl\";\n        ProjectEmailTemplateLocale[\"Sq\"] = \"sq\";\n        ProjectEmailTemplateLocale[\"Sr\"] = \"sr\";\n        ProjectEmailTemplateLocale[\"Sv\"] = \"sv\";\n        ProjectEmailTemplateLocale[\"Svfi\"] = \"sv-fi\";\n        ProjectEmailTemplateLocale[\"Th\"] = \"th\";\n        ProjectEmailTemplateLocale[\"Tn\"] = \"tn\";\n        ProjectEmailTemplateLocale[\"Tr\"] = \"tr\";\n        ProjectEmailTemplateLocale[\"Ts\"] = \"ts\";\n        ProjectEmailTemplateLocale[\"Ua\"] = \"ua\";\n        ProjectEmailTemplateLocale[\"Ur\"] = \"ur\";\n        ProjectEmailTemplateLocale[\"Ve\"] = \"ve\";\n        ProjectEmailTemplateLocale[\"Vi\"] = \"vi\";\n        ProjectEmailTemplateLocale[\"Xh\"] = \"xh\";\n        ProjectEmailTemplateLocale[\"Zhcn\"] = \"zh-cn\";\n        ProjectEmailTemplateLocale[\"Zhhk\"] = \"zh-hk\";\n        ProjectEmailTemplateLocale[\"Zhsg\"] = \"zh-sg\";\n        ProjectEmailTemplateLocale[\"Zhtw\"] = \"zh-tw\";\n        ProjectEmailTemplateLocale[\"Zu\"] = \"zu\";\n    })(exports.ProjectEmailTemplateLocale || (exports.ProjectEmailTemplateLocale = {}));\n\n    exports.UsageRange = void 0;\n    (function (UsageRange) {\n        UsageRange[\"TwentyFourHours\"] = \"24h\";\n        UsageRange[\"ThirtyDays\"] = \"30d\";\n        UsageRange[\"NinetyDays\"] = \"90d\";\n    })(exports.UsageRange || (exports.UsageRange = {}));\n\n    exports.RelationshipType = void 0;\n    (function (RelationshipType) {\n        RelationshipType[\"OneToOne\"] = \"oneToOne\";\n        RelationshipType[\"ManyToOne\"] = \"manyToOne\";\n        RelationshipType[\"ManyToMany\"] = \"manyToMany\";\n        RelationshipType[\"OneToMany\"] = \"oneToMany\";\n    })(exports.RelationshipType || (exports.RelationshipType = {}));\n\n    exports.RelationMutate = void 0;\n    (function (RelationMutate) {\n        RelationMutate[\"Cascade\"] = \"cascade\";\n        RelationMutate[\"Restrict\"] = \"restrict\";\n        RelationMutate[\"SetNull\"] = \"setNull\";\n    })(exports.RelationMutate || (exports.RelationMutate = {}));\n\n    exports.DatabasesIndexType = void 0;\n    (function (DatabasesIndexType) {\n        DatabasesIndexType[\"Key\"] = \"key\";\n        DatabasesIndexType[\"Fulltext\"] = \"fulltext\";\n        DatabasesIndexType[\"Unique\"] = \"unique\";\n        DatabasesIndexType[\"Spatial\"] = \"spatial\";\n    })(exports.DatabasesIndexType || (exports.DatabasesIndexType = {}));\n\n    exports.OrderBy = void 0;\n    (function (OrderBy) {\n        OrderBy[\"Asc\"] = \"asc\";\n        OrderBy[\"Desc\"] = \"desc\";\n    })(exports.OrderBy || (exports.OrderBy = {}));\n\n    exports.DocumentsDBIndexType = void 0;\n    (function (DocumentsDBIndexType) {\n        DocumentsDBIndexType[\"Key\"] = \"key\";\n        DocumentsDBIndexType[\"Fulltext\"] = \"fulltext\";\n        DocumentsDBIndexType[\"Unique\"] = \"unique\";\n    })(exports.DocumentsDBIndexType || (exports.DocumentsDBIndexType = {}));\n\n    exports.DomainRegistrationType = void 0;\n    (function (DomainRegistrationType) {\n        DomainRegistrationType[\"New\"] = \"new\";\n        DomainRegistrationType[\"Transfer\"] = \"transfer\";\n        DomainRegistrationType[\"Renewal\"] = \"renewal\";\n        DomainRegistrationType[\"Trade\"] = \"trade\";\n    })(exports.DomainRegistrationType || (exports.DomainRegistrationType = {}));\n\n    exports.DomainSuggestionType = void 0;\n    (function (DomainSuggestionType) {\n        DomainSuggestionType[\"Premium\"] = \"premium\";\n        DomainSuggestionType[\"Suggestion\"] = \"suggestion\";\n    })(exports.DomainSuggestionType || (exports.DomainSuggestionType = {}));\n\n    exports.Runtime = void 0;\n    (function (Runtime) {\n        Runtime[\"Node145\"] = \"node-14.5\";\n        Runtime[\"Node160\"] = \"node-16.0\";\n        Runtime[\"Node180\"] = \"node-18.0\";\n        Runtime[\"Node190\"] = \"node-19.0\";\n        Runtime[\"Node200\"] = \"node-20.0\";\n        Runtime[\"Node210\"] = \"node-21.0\";\n        Runtime[\"Node22\"] = \"node-22\";\n        Runtime[\"Node23\"] = \"node-23\";\n        Runtime[\"Node24\"] = \"node-24\";\n        Runtime[\"Node25\"] = \"node-25\";\n        Runtime[\"Php80\"] = \"php-8.0\";\n        Runtime[\"Php81\"] = \"php-8.1\";\n        Runtime[\"Php82\"] = \"php-8.2\";\n        Runtime[\"Php83\"] = \"php-8.3\";\n        Runtime[\"Php84\"] = \"php-8.4\";\n        Runtime[\"Ruby30\"] = \"ruby-3.0\";\n        Runtime[\"Ruby31\"] = \"ruby-3.1\";\n        Runtime[\"Ruby32\"] = \"ruby-3.2\";\n        Runtime[\"Ruby33\"] = \"ruby-3.3\";\n        Runtime[\"Ruby34\"] = \"ruby-3.4\";\n        Runtime[\"Ruby40\"] = \"ruby-4.0\";\n        Runtime[\"Python38\"] = \"python-3.8\";\n        Runtime[\"Python39\"] = \"python-3.9\";\n        Runtime[\"Python310\"] = \"python-3.10\";\n        Runtime[\"Python311\"] = \"python-3.11\";\n        Runtime[\"Python312\"] = \"python-3.12\";\n        Runtime[\"Python313\"] = \"python-3.13\";\n        Runtime[\"Python314\"] = \"python-3.14\";\n        Runtime[\"Pythonml311\"] = \"python-ml-3.11\";\n        Runtime[\"Pythonml312\"] = \"python-ml-3.12\";\n        Runtime[\"Pythonml313\"] = \"python-ml-3.13\";\n        Runtime[\"Deno140\"] = \"deno-1.40\";\n        Runtime[\"Deno146\"] = \"deno-1.46\";\n        Runtime[\"Deno20\"] = \"deno-2.0\";\n        Runtime[\"Deno25\"] = \"deno-2.5\";\n        Runtime[\"Deno26\"] = \"deno-2.6\";\n        Runtime[\"Dart215\"] = \"dart-2.15\";\n        Runtime[\"Dart216\"] = \"dart-2.16\";\n        Runtime[\"Dart217\"] = \"dart-2.17\";\n        Runtime[\"Dart218\"] = \"dart-2.18\";\n        Runtime[\"Dart219\"] = \"dart-2.19\";\n        Runtime[\"Dart30\"] = \"dart-3.0\";\n        Runtime[\"Dart31\"] = \"dart-3.1\";\n        Runtime[\"Dart33\"] = \"dart-3.3\";\n        Runtime[\"Dart35\"] = \"dart-3.5\";\n        Runtime[\"Dart38\"] = \"dart-3.8\";\n        Runtime[\"Dart39\"] = \"dart-3.9\";\n        Runtime[\"Dart310\"] = \"dart-3.10\";\n        Runtime[\"Dart311\"] = \"dart-3.11\";\n        Runtime[\"Dart312\"] = \"dart-3.12\";\n        Runtime[\"Dotnet60\"] = \"dotnet-6.0\";\n        Runtime[\"Dotnet70\"] = \"dotnet-7.0\";\n        Runtime[\"Dotnet80\"] = \"dotnet-8.0\";\n        Runtime[\"Dotnet10\"] = \"dotnet-10\";\n        Runtime[\"Java80\"] = \"java-8.0\";\n        Runtime[\"Java110\"] = \"java-11.0\";\n        Runtime[\"Java170\"] = \"java-17.0\";\n        Runtime[\"Java180\"] = \"java-18.0\";\n        Runtime[\"Java210\"] = \"java-21.0\";\n        Runtime[\"Java22\"] = \"java-22\";\n        Runtime[\"Java25\"] = \"java-25\";\n        Runtime[\"Swift55\"] = \"swift-5.5\";\n        Runtime[\"Swift58\"] = \"swift-5.8\";\n        Runtime[\"Swift59\"] = \"swift-5.9\";\n        Runtime[\"Swift510\"] = \"swift-5.10\";\n        Runtime[\"Swift62\"] = \"swift-6.2\";\n        Runtime[\"Kotlin16\"] = \"kotlin-1.6\";\n        Runtime[\"Kotlin18\"] = \"kotlin-1.8\";\n        Runtime[\"Kotlin19\"] = \"kotlin-1.9\";\n        Runtime[\"Kotlin20\"] = \"kotlin-2.0\";\n        Runtime[\"Kotlin23\"] = \"kotlin-2.3\";\n        Runtime[\"Cpp17\"] = \"cpp-17\";\n        Runtime[\"Cpp20\"] = \"cpp-20\";\n        Runtime[\"Bun10\"] = \"bun-1.0\";\n        Runtime[\"Bun11\"] = \"bun-1.1\";\n        Runtime[\"Bun12\"] = \"bun-1.2\";\n        Runtime[\"Bun13\"] = \"bun-1.3\";\n        Runtime[\"Go123\"] = \"go-1.23\";\n        Runtime[\"Go124\"] = \"go-1.24\";\n        Runtime[\"Go125\"] = \"go-1.25\";\n        Runtime[\"Go126\"] = \"go-1.26\";\n        Runtime[\"Rust183\"] = \"rust-1.83\";\n        Runtime[\"Static1\"] = \"static-1\";\n        Runtime[\"Flutter324\"] = \"flutter-3.24\";\n        Runtime[\"Flutter327\"] = \"flutter-3.27\";\n        Runtime[\"Flutter329\"] = \"flutter-3.29\";\n        Runtime[\"Flutter332\"] = \"flutter-3.32\";\n        Runtime[\"Flutter335\"] = \"flutter-3.35\";\n        Runtime[\"Flutter338\"] = \"flutter-3.38\";\n        Runtime[\"Flutter341\"] = \"flutter-3.41\";\n        Runtime[\"Flutter344\"] = \"flutter-3.44\";\n    })(exports.Runtime || (exports.Runtime = {}));\n\n    exports.ProjectKeyScopes = void 0;\n    (function (ProjectKeyScopes) {\n        ProjectKeyScopes[\"ProjectRead\"] = \"project.read\";\n        ProjectKeyScopes[\"ProjectWrite\"] = \"project.write\";\n        ProjectKeyScopes[\"KeysRead\"] = \"keys.read\";\n        ProjectKeyScopes[\"KeysWrite\"] = \"keys.write\";\n        ProjectKeyScopes[\"PlatformsRead\"] = \"platforms.read\";\n        ProjectKeyScopes[\"PlatformsWrite\"] = \"platforms.write\";\n        ProjectKeyScopes[\"MocksRead\"] = \"mocks.read\";\n        ProjectKeyScopes[\"MocksWrite\"] = \"mocks.write\";\n        ProjectKeyScopes[\"PoliciesRead\"] = \"policies.read\";\n        ProjectKeyScopes[\"PoliciesWrite\"] = \"policies.write\";\n        ProjectKeyScopes[\"ProjectPoliciesRead\"] = \"project.policies.read\";\n        ProjectKeyScopes[\"ProjectPoliciesWrite\"] = \"project.policies.write\";\n        ProjectKeyScopes[\"TemplatesRead\"] = \"templates.read\";\n        ProjectKeyScopes[\"TemplatesWrite\"] = \"templates.write\";\n        ProjectKeyScopes[\"Oauth2Read\"] = \"oauth2.read\";\n        ProjectKeyScopes[\"Oauth2Write\"] = \"oauth2.write\";\n        ProjectKeyScopes[\"UsersRead\"] = \"users.read\";\n        ProjectKeyScopes[\"UsersWrite\"] = \"users.write\";\n        ProjectKeyScopes[\"SessionsRead\"] = \"sessions.read\";\n        ProjectKeyScopes[\"SessionsWrite\"] = \"sessions.write\";\n        ProjectKeyScopes[\"TeamsRead\"] = \"teams.read\";\n        ProjectKeyScopes[\"TeamsWrite\"] = \"teams.write\";\n        ProjectKeyScopes[\"DatabasesRead\"] = \"databases.read\";\n        ProjectKeyScopes[\"DatabasesWrite\"] = \"databases.write\";\n        ProjectKeyScopes[\"TablesRead\"] = \"tables.read\";\n        ProjectKeyScopes[\"TablesWrite\"] = \"tables.write\";\n        ProjectKeyScopes[\"ColumnsRead\"] = \"columns.read\";\n        ProjectKeyScopes[\"ColumnsWrite\"] = \"columns.write\";\n        ProjectKeyScopes[\"IndexesRead\"] = \"indexes.read\";\n        ProjectKeyScopes[\"IndexesWrite\"] = \"indexes.write\";\n        ProjectKeyScopes[\"RowsRead\"] = \"rows.read\";\n        ProjectKeyScopes[\"RowsWrite\"] = \"rows.write\";\n        ProjectKeyScopes[\"CollectionsRead\"] = \"collections.read\";\n        ProjectKeyScopes[\"CollectionsWrite\"] = \"collections.write\";\n        ProjectKeyScopes[\"AttributesRead\"] = \"attributes.read\";\n        ProjectKeyScopes[\"AttributesWrite\"] = \"attributes.write\";\n        ProjectKeyScopes[\"DocumentsRead\"] = \"documents.read\";\n        ProjectKeyScopes[\"DocumentsWrite\"] = \"documents.write\";\n        ProjectKeyScopes[\"BucketsRead\"] = \"buckets.read\";\n        ProjectKeyScopes[\"BucketsWrite\"] = \"buckets.write\";\n        ProjectKeyScopes[\"FilesRead\"] = \"files.read\";\n        ProjectKeyScopes[\"FilesWrite\"] = \"files.write\";\n        ProjectKeyScopes[\"TokensRead\"] = \"tokens.read\";\n        ProjectKeyScopes[\"TokensWrite\"] = \"tokens.write\";\n        ProjectKeyScopes[\"FunctionsRead\"] = \"functions.read\";\n        ProjectKeyScopes[\"FunctionsWrite\"] = \"functions.write\";\n        ProjectKeyScopes[\"ExecutionsRead\"] = \"executions.read\";\n        ProjectKeyScopes[\"ExecutionsWrite\"] = \"executions.write\";\n        ProjectKeyScopes[\"ExecutionRead\"] = \"execution.read\";\n        ProjectKeyScopes[\"ExecutionWrite\"] = \"execution.write\";\n        ProjectKeyScopes[\"SitesRead\"] = \"sites.read\";\n        ProjectKeyScopes[\"SitesWrite\"] = \"sites.write\";\n        ProjectKeyScopes[\"LogRead\"] = \"log.read\";\n        ProjectKeyScopes[\"LogWrite\"] = \"log.write\";\n        ProjectKeyScopes[\"ProvidersRead\"] = \"providers.read\";\n        ProjectKeyScopes[\"ProvidersWrite\"] = \"providers.write\";\n        ProjectKeyScopes[\"TopicsRead\"] = \"topics.read\";\n        ProjectKeyScopes[\"TopicsWrite\"] = \"topics.write\";\n        ProjectKeyScopes[\"SubscribersRead\"] = \"subscribers.read\";\n        ProjectKeyScopes[\"SubscribersWrite\"] = \"subscribers.write\";\n        ProjectKeyScopes[\"TargetsRead\"] = \"targets.read\";\n        ProjectKeyScopes[\"TargetsWrite\"] = \"targets.write\";\n        ProjectKeyScopes[\"MessagesRead\"] = \"messages.read\";\n        ProjectKeyScopes[\"MessagesWrite\"] = \"messages.write\";\n        ProjectKeyScopes[\"RulesRead\"] = \"rules.read\";\n        ProjectKeyScopes[\"RulesWrite\"] = \"rules.write\";\n        ProjectKeyScopes[\"WebhooksRead\"] = \"webhooks.read\";\n        ProjectKeyScopes[\"WebhooksWrite\"] = \"webhooks.write\";\n        ProjectKeyScopes[\"LocaleRead\"] = \"locale.read\";\n        ProjectKeyScopes[\"AvatarsRead\"] = \"avatars.read\";\n        ProjectKeyScopes[\"HealthRead\"] = \"health.read\";\n        ProjectKeyScopes[\"AssistantRead\"] = \"assistant.read\";\n        ProjectKeyScopes[\"MigrationsRead\"] = \"migrations.read\";\n        ProjectKeyScopes[\"MigrationsWrite\"] = \"migrations.write\";\n        ProjectKeyScopes[\"SchedulesRead\"] = \"schedules.read\";\n        ProjectKeyScopes[\"SchedulesWrite\"] = \"schedules.write\";\n        ProjectKeyScopes[\"VcsRead\"] = \"vcs.read\";\n        ProjectKeyScopes[\"VcsWrite\"] = \"vcs.write\";\n        ProjectKeyScopes[\"InsightsRead\"] = \"insights.read\";\n        ProjectKeyScopes[\"InsightsWrite\"] = \"insights.write\";\n        ProjectKeyScopes[\"ReportsRead\"] = \"reports.read\";\n        ProjectKeyScopes[\"ReportsWrite\"] = \"reports.write\";\n        ProjectKeyScopes[\"PresencesRead\"] = \"presences.read\";\n        ProjectKeyScopes[\"PresencesWrite\"] = \"presences.write\";\n        ProjectKeyScopes[\"BackupsPoliciesRead\"] = \"backups.policies.read\";\n        ProjectKeyScopes[\"BackupsPoliciesWrite\"] = \"backups.policies.write\";\n        ProjectKeyScopes[\"ArchivesRead\"] = \"archives.read\";\n        ProjectKeyScopes[\"ArchivesWrite\"] = \"archives.write\";\n        ProjectKeyScopes[\"RestorationsRead\"] = \"restorations.read\";\n        ProjectKeyScopes[\"RestorationsWrite\"] = \"restorations.write\";\n        ProjectKeyScopes[\"DedicatedDatabasesExecute\"] = \"dedicatedDatabases.execute\";\n        ProjectKeyScopes[\"DomainsRead\"] = \"domains.read\";\n        ProjectKeyScopes[\"DomainsWrite\"] = \"domains.write\";\n        ProjectKeyScopes[\"EventsRead\"] = \"events.read\";\n        ProjectKeyScopes[\"AppsRead\"] = \"apps.read\";\n        ProjectKeyScopes[\"AppsWrite\"] = \"apps.write\";\n        ProjectKeyScopes[\"UsageRead\"] = \"usage.read\";\n    })(exports.ProjectKeyScopes || (exports.ProjectKeyScopes = {}));\n\n    exports.FunctionTemplateUseCase = void 0;\n    (function (FunctionTemplateUseCase) {\n        FunctionTemplateUseCase[\"Starter\"] = \"starter\";\n        FunctionTemplateUseCase[\"Databases\"] = \"databases\";\n        FunctionTemplateUseCase[\"Ai\"] = \"ai\";\n        FunctionTemplateUseCase[\"Messaging\"] = \"messaging\";\n        FunctionTemplateUseCase[\"Utilities\"] = \"utilities\";\n        FunctionTemplateUseCase[\"Devtools\"] = \"dev-tools\";\n        FunctionTemplateUseCase[\"Auth\"] = \"auth\";\n    })(exports.FunctionTemplateUseCase || (exports.FunctionTemplateUseCase = {}));\n\n    exports.TemplateReferenceType = void 0;\n    (function (TemplateReferenceType) {\n        TemplateReferenceType[\"Commit\"] = \"commit\";\n        TemplateReferenceType[\"Branch\"] = \"branch\";\n        TemplateReferenceType[\"Tag\"] = \"tag\";\n    })(exports.TemplateReferenceType || (exports.TemplateReferenceType = {}));\n\n    exports.VCSReferenceType = void 0;\n    (function (VCSReferenceType) {\n        VCSReferenceType[\"Branch\"] = \"branch\";\n        VCSReferenceType[\"Commit\"] = \"commit\";\n        VCSReferenceType[\"Tag\"] = \"tag\";\n    })(exports.VCSReferenceType || (exports.VCSReferenceType = {}));\n\n    exports.DeploymentDownloadType = void 0;\n    (function (DeploymentDownloadType) {\n        DeploymentDownloadType[\"Source\"] = \"source\";\n        DeploymentDownloadType[\"Output\"] = \"output\";\n    })(exports.DeploymentDownloadType || (exports.DeploymentDownloadType = {}));\n\n    exports.ExecutionMethod = void 0;\n    (function (ExecutionMethod) {\n        ExecutionMethod[\"GET\"] = \"GET\";\n        ExecutionMethod[\"POST\"] = \"POST\";\n        ExecutionMethod[\"PUT\"] = \"PUT\";\n        ExecutionMethod[\"PATCH\"] = \"PATCH\";\n        ExecutionMethod[\"DELETE\"] = \"DELETE\";\n        ExecutionMethod[\"OPTIONS\"] = \"OPTIONS\";\n        ExecutionMethod[\"HEAD\"] = \"HEAD\";\n    })(exports.ExecutionMethod || (exports.ExecutionMethod = {}));\n\n    exports.HealthQueueName = void 0;\n    (function (HealthQueueName) {\n        HealthQueueName[\"V1database\"] = \"v1-database\";\n        HealthQueueName[\"V1deletes\"] = \"v1-deletes\";\n        HealthQueueName[\"V1audits\"] = \"v1-audits\";\n        HealthQueueName[\"V1mails\"] = \"v1-mails\";\n        HealthQueueName[\"V1functions\"] = \"v1-functions\";\n        HealthQueueName[\"V1statsresources\"] = \"v1-stats-resources\";\n        HealthQueueName[\"V1statsusage\"] = \"v1-stats-usage\";\n        HealthQueueName[\"V1webhooks\"] = \"v1-webhooks\";\n        HealthQueueName[\"V1certificates\"] = \"v1-certificates\";\n        HealthQueueName[\"V1builds\"] = \"v1-builds\";\n        HealthQueueName[\"V1screenshots\"] = \"v1-screenshots\";\n        HealthQueueName[\"V1messaging\"] = \"v1-messaging\";\n        HealthQueueName[\"V1migrations\"] = \"v1-migrations\";\n    })(exports.HealthQueueName || (exports.HealthQueueName = {}));\n\n    exports.BlockResourceType = void 0;\n    (function (BlockResourceType) {\n        BlockResourceType[\"Projects\"] = \"projects\";\n        BlockResourceType[\"Functions\"] = \"functions\";\n        BlockResourceType[\"Sites\"] = \"sites\";\n        BlockResourceType[\"Databases\"] = \"databases\";\n        BlockResourceType[\"Buckets\"] = \"buckets\";\n        BlockResourceType[\"Providers\"] = \"providers\";\n        BlockResourceType[\"Topics\"] = \"topics\";\n        BlockResourceType[\"Subscribers\"] = \"subscribers\";\n        BlockResourceType[\"Messages\"] = \"messages\";\n    })(exports.BlockResourceType || (exports.BlockResourceType = {}));\n\n    exports.Region = void 0;\n    (function (Region) {\n        Region[\"Fra\"] = \"fra\";\n        Region[\"Nyc\"] = \"nyc\";\n        Region[\"Syd\"] = \"syd\";\n        Region[\"Sfo\"] = \"sfo\";\n        Region[\"Sgp\"] = \"sgp\";\n        Region[\"Tor\"] = \"tor\";\n    })(exports.Region || (exports.Region = {}));\n\n    exports.CacheTarget = void 0;\n    (function (CacheTarget) {\n        CacheTarget[\"Cache\"] = \"cache\";\n        CacheTarget[\"Timelimit\"] = \"timelimit\";\n        CacheTarget[\"Locks\"] = \"locks\";\n        CacheTarget[\"Pubsub\"] = \"pubsub\";\n        CacheTarget[\"Queue\"] = \"queue\";\n        CacheTarget[\"All\"] = \"all\";\n    })(exports.CacheTarget || (exports.CacheTarget = {}));\n\n    exports.CacheDatabase = void 0;\n    (function (CacheDatabase) {\n        CacheDatabase[\"Console\"] = \"console\";\n        CacheDatabase[\"Project\"] = \"project\";\n        CacheDatabase[\"Logs\"] = \"logs\";\n    })(exports.CacheDatabase || (exports.CacheDatabase = {}));\n\n    exports.MessagePriority = void 0;\n    (function (MessagePriority) {\n        MessagePriority[\"Normal\"] = \"normal\";\n        MessagePriority[\"High\"] = \"high\";\n    })(exports.MessagePriority || (exports.MessagePriority = {}));\n\n    exports.SmtpEncryption = void 0;\n    (function (SmtpEncryption) {\n        SmtpEncryption[\"None\"] = \"none\";\n        SmtpEncryption[\"Ssl\"] = \"ssl\";\n        SmtpEncryption[\"Tls\"] = \"tls\";\n    })(exports.SmtpEncryption || (exports.SmtpEncryption = {}));\n\n    exports.AppwriteMigrationResource = void 0;\n    (function (AppwriteMigrationResource) {\n        AppwriteMigrationResource[\"User\"] = \"user\";\n        AppwriteMigrationResource[\"Team\"] = \"team\";\n        AppwriteMigrationResource[\"Membership\"] = \"membership\";\n        AppwriteMigrationResource[\"Authmethods\"] = \"auth-methods\";\n        AppwriteMigrationResource[\"Policies\"] = \"policies\";\n        AppwriteMigrationResource[\"Oauth2provider\"] = \"oauth2-provider\";\n        AppwriteMigrationResource[\"Database\"] = \"database\";\n        AppwriteMigrationResource[\"Table\"] = \"table\";\n        AppwriteMigrationResource[\"Column\"] = \"column\";\n        AppwriteMigrationResource[\"Index\"] = \"index\";\n        AppwriteMigrationResource[\"Row\"] = \"row\";\n        AppwriteMigrationResource[\"Document\"] = \"document\";\n        AppwriteMigrationResource[\"Attribute\"] = \"attribute\";\n        AppwriteMigrationResource[\"Collection\"] = \"collection\";\n        AppwriteMigrationResource[\"Documentsdb\"] = \"documentsdb\";\n        AppwriteMigrationResource[\"Vectorsdb\"] = \"vectorsdb\";\n        AppwriteMigrationResource[\"Bucket\"] = \"bucket\";\n        AppwriteMigrationResource[\"File\"] = \"file\";\n        AppwriteMigrationResource[\"Function\"] = \"function\";\n        AppwriteMigrationResource[\"Deployment\"] = \"deployment\";\n        AppwriteMigrationResource[\"Environmentvariable\"] = \"environment-variable\";\n        AppwriteMigrationResource[\"Provider\"] = \"provider\";\n        AppwriteMigrationResource[\"Topic\"] = \"topic\";\n        AppwriteMigrationResource[\"Subscriber\"] = \"subscriber\";\n        AppwriteMigrationResource[\"Message\"] = \"message\";\n        AppwriteMigrationResource[\"Site\"] = \"site\";\n        AppwriteMigrationResource[\"Sitedeployment\"] = \"site-deployment\";\n        AppwriteMigrationResource[\"Sitevariable\"] = \"site-variable\";\n        AppwriteMigrationResource[\"Platform\"] = \"platform\";\n        AppwriteMigrationResource[\"Apikey\"] = \"api-key\";\n        AppwriteMigrationResource[\"Webhook\"] = \"webhook\";\n        AppwriteMigrationResource[\"Smtp\"] = \"smtp\";\n        AppwriteMigrationResource[\"Backuppolicy\"] = \"backup-policy\";\n        AppwriteMigrationResource[\"Projectvariable\"] = \"project-variable\";\n        AppwriteMigrationResource[\"Projectprotocols\"] = \"project-protocols\";\n        AppwriteMigrationResource[\"Projectlabels\"] = \"project-labels\";\n        AppwriteMigrationResource[\"Projectservices\"] = \"project-services\";\n        AppwriteMigrationResource[\"Projectemailtemplate\"] = \"project-email-template\";\n        AppwriteMigrationResource[\"Rule\"] = \"rule\";\n    })(exports.AppwriteMigrationResource || (exports.AppwriteMigrationResource = {}));\n\n    exports.OnDuplicate = void 0;\n    (function (OnDuplicate) {\n        OnDuplicate[\"Fail\"] = \"fail\";\n        OnDuplicate[\"Skip\"] = \"skip\";\n        OnDuplicate[\"Overwrite\"] = \"overwrite\";\n    })(exports.OnDuplicate || (exports.OnDuplicate = {}));\n\n    exports.FirebaseMigrationResource = void 0;\n    (function (FirebaseMigrationResource) {\n        FirebaseMigrationResource[\"User\"] = \"user\";\n        FirebaseMigrationResource[\"Database\"] = \"database\";\n        FirebaseMigrationResource[\"Table\"] = \"table\";\n        FirebaseMigrationResource[\"Column\"] = \"column\";\n        FirebaseMigrationResource[\"Row\"] = \"row\";\n        FirebaseMigrationResource[\"Document\"] = \"document\";\n        FirebaseMigrationResource[\"Attribute\"] = \"attribute\";\n        FirebaseMigrationResource[\"Collection\"] = \"collection\";\n        FirebaseMigrationResource[\"Bucket\"] = \"bucket\";\n        FirebaseMigrationResource[\"File\"] = \"file\";\n    })(exports.FirebaseMigrationResource || (exports.FirebaseMigrationResource = {}));\n\n    exports.NHostMigrationResource = void 0;\n    (function (NHostMigrationResource) {\n        NHostMigrationResource[\"User\"] = \"user\";\n        NHostMigrationResource[\"Database\"] = \"database\";\n        NHostMigrationResource[\"Table\"] = \"table\";\n        NHostMigrationResource[\"Column\"] = \"column\";\n        NHostMigrationResource[\"Index\"] = \"index\";\n        NHostMigrationResource[\"Row\"] = \"row\";\n        NHostMigrationResource[\"Document\"] = \"document\";\n        NHostMigrationResource[\"Attribute\"] = \"attribute\";\n        NHostMigrationResource[\"Collection\"] = \"collection\";\n        NHostMigrationResource[\"Bucket\"] = \"bucket\";\n        NHostMigrationResource[\"File\"] = \"file\";\n    })(exports.NHostMigrationResource || (exports.NHostMigrationResource = {}));\n\n    exports.SupabaseMigrationResource = void 0;\n    (function (SupabaseMigrationResource) {\n        SupabaseMigrationResource[\"User\"] = \"user\";\n        SupabaseMigrationResource[\"Database\"] = \"database\";\n        SupabaseMigrationResource[\"Table\"] = \"table\";\n        SupabaseMigrationResource[\"Column\"] = \"column\";\n        SupabaseMigrationResource[\"Index\"] = \"index\";\n        SupabaseMigrationResource[\"Row\"] = \"row\";\n        SupabaseMigrationResource[\"Document\"] = \"document\";\n        SupabaseMigrationResource[\"Attribute\"] = \"attribute\";\n        SupabaseMigrationResource[\"Collection\"] = \"collection\";\n        SupabaseMigrationResource[\"Bucket\"] = \"bucket\";\n        SupabaseMigrationResource[\"File\"] = \"file\";\n    })(exports.SupabaseMigrationResource || (exports.SupabaseMigrationResource = {}));\n\n    exports.OrganizationKeyScopes = void 0;\n    (function (OrganizationKeyScopes) {\n        OrganizationKeyScopes[\"ProjectsRead\"] = \"projects.read\";\n        OrganizationKeyScopes[\"ProjectsWrite\"] = \"projects.write\";\n        OrganizationKeyScopes[\"DevKeysRead\"] = \"devKeys.read\";\n        OrganizationKeyScopes[\"DevKeysWrite\"] = \"devKeys.write\";\n        OrganizationKeyScopes[\"OrganizationKeysRead\"] = \"organization.keys.read\";\n        OrganizationKeyScopes[\"OrganizationKeysWrite\"] = \"organization.keys.write\";\n        OrganizationKeyScopes[\"DomainsRead\"] = \"domains.read\";\n        OrganizationKeyScopes[\"DomainsWrite\"] = \"domains.write\";\n        OrganizationKeyScopes[\"KeysRead\"] = \"keys.read\";\n        OrganizationKeyScopes[\"KeysWrite\"] = \"keys.write\";\n    })(exports.OrganizationKeyScopes || (exports.OrganizationKeyScopes = {}));\n\n    exports.Addon = void 0;\n    (function (Addon) {\n        Addon[\"Baa\"] = \"baa\";\n        Addon[\"BackupRecovery\"] = \"backup_recovery\";\n    })(exports.Addon || (exports.Addon = {}));\n\n    exports.ProjectAuthMethodId = void 0;\n    (function (ProjectAuthMethodId) {\n        ProjectAuthMethodId[\"Emailpassword\"] = \"email-password\";\n        ProjectAuthMethodId[\"Magicurl\"] = \"magic-url\";\n        ProjectAuthMethodId[\"Emailotp\"] = \"email-otp\";\n        ProjectAuthMethodId[\"Anonymous\"] = \"anonymous\";\n        ProjectAuthMethodId[\"Invites\"] = \"invites\";\n        ProjectAuthMethodId[\"Jwt\"] = \"jwt\";\n        ProjectAuthMethodId[\"Phone\"] = \"phone\";\n    })(exports.ProjectAuthMethodId || (exports.ProjectAuthMethodId = {}));\n\n    exports.ProjectOAuth2GooglePrompt = void 0;\n    (function (ProjectOAuth2GooglePrompt) {\n        ProjectOAuth2GooglePrompt[\"None\"] = \"none\";\n        ProjectOAuth2GooglePrompt[\"Consent\"] = \"consent\";\n        ProjectOAuth2GooglePrompt[\"SelectAccount\"] = \"select_account\";\n    })(exports.ProjectOAuth2GooglePrompt || (exports.ProjectOAuth2GooglePrompt = {}));\n\n    exports.ProjectOAuthProviderId = void 0;\n    (function (ProjectOAuthProviderId) {\n        ProjectOAuthProviderId[\"Amazon\"] = \"amazon\";\n        ProjectOAuthProviderId[\"Apple\"] = \"apple\";\n        ProjectOAuthProviderId[\"Auth0\"] = \"auth0\";\n        ProjectOAuthProviderId[\"Authentik\"] = \"authentik\";\n        ProjectOAuthProviderId[\"Autodesk\"] = \"autodesk\";\n        ProjectOAuthProviderId[\"Bitbucket\"] = \"bitbucket\";\n        ProjectOAuthProviderId[\"Bitly\"] = \"bitly\";\n        ProjectOAuthProviderId[\"Box\"] = \"box\";\n        ProjectOAuthProviderId[\"Dailymotion\"] = \"dailymotion\";\n        ProjectOAuthProviderId[\"Discord\"] = \"discord\";\n        ProjectOAuthProviderId[\"Disqus\"] = \"disqus\";\n        ProjectOAuthProviderId[\"Dropbox\"] = \"dropbox\";\n        ProjectOAuthProviderId[\"Etsy\"] = \"etsy\";\n        ProjectOAuthProviderId[\"Facebook\"] = \"facebook\";\n        ProjectOAuthProviderId[\"Figma\"] = \"figma\";\n        ProjectOAuthProviderId[\"Fusionauth\"] = \"fusionauth\";\n        ProjectOAuthProviderId[\"Github\"] = \"github\";\n        ProjectOAuthProviderId[\"Gitlab\"] = \"gitlab\";\n        ProjectOAuthProviderId[\"Google\"] = \"google\";\n        ProjectOAuthProviderId[\"Keycloak\"] = \"keycloak\";\n        ProjectOAuthProviderId[\"Kick\"] = \"kick\";\n        ProjectOAuthProviderId[\"Linkedin\"] = \"linkedin\";\n        ProjectOAuthProviderId[\"Microsoft\"] = \"microsoft\";\n        ProjectOAuthProviderId[\"Notion\"] = \"notion\";\n        ProjectOAuthProviderId[\"Oidc\"] = \"oidc\";\n        ProjectOAuthProviderId[\"Okta\"] = \"okta\";\n        ProjectOAuthProviderId[\"Paypal\"] = \"paypal\";\n        ProjectOAuthProviderId[\"PaypalSandbox\"] = \"paypalSandbox\";\n        ProjectOAuthProviderId[\"Podio\"] = \"podio\";\n        ProjectOAuthProviderId[\"Salesforce\"] = \"salesforce\";\n        ProjectOAuthProviderId[\"Slack\"] = \"slack\";\n        ProjectOAuthProviderId[\"Spotify\"] = \"spotify\";\n        ProjectOAuthProviderId[\"Stripe\"] = \"stripe\";\n        ProjectOAuthProviderId[\"Tradeshift\"] = \"tradeshift\";\n        ProjectOAuthProviderId[\"TradeshiftBox\"] = \"tradeshiftBox\";\n        ProjectOAuthProviderId[\"Twitch\"] = \"twitch\";\n        ProjectOAuthProviderId[\"Wordpress\"] = \"wordpress\";\n        ProjectOAuthProviderId[\"X\"] = \"x\";\n        ProjectOAuthProviderId[\"Yahoo\"] = \"yahoo\";\n        ProjectOAuthProviderId[\"Yammer\"] = \"yammer\";\n        ProjectOAuthProviderId[\"Yandex\"] = \"yandex\";\n        ProjectOAuthProviderId[\"Zoho\"] = \"zoho\";\n        ProjectOAuthProviderId[\"Zoom\"] = \"zoom\";\n    })(exports.ProjectOAuthProviderId || (exports.ProjectOAuthProviderId = {}));\n\n    exports.ProjectPolicyId = void 0;\n    (function (ProjectPolicyId) {\n        ProjectPolicyId[\"Passworddictionary\"] = \"password-dictionary\";\n        ProjectPolicyId[\"Passwordhistory\"] = \"password-history\";\n        ProjectPolicyId[\"Passwordstrength\"] = \"password-strength\";\n        ProjectPolicyId[\"Passwordpersonaldata\"] = \"password-personal-data\";\n        ProjectPolicyId[\"Sessionalert\"] = \"session-alert\";\n        ProjectPolicyId[\"Sessionduration\"] = \"session-duration\";\n        ProjectPolicyId[\"Sessioninvalidation\"] = \"session-invalidation\";\n        ProjectPolicyId[\"Sessionlimit\"] = \"session-limit\";\n        ProjectPolicyId[\"Userlimit\"] = \"user-limit\";\n        ProjectPolicyId[\"Membershipprivacy\"] = \"membership-privacy\";\n        ProjectPolicyId[\"Denyaliasedemail\"] = \"deny-aliased-email\";\n        ProjectPolicyId[\"Denydisposableemail\"] = \"deny-disposable-email\";\n        ProjectPolicyId[\"Denyfreeemail\"] = \"deny-free-email\";\n    })(exports.ProjectPolicyId || (exports.ProjectPolicyId = {}));\n\n    exports.ProjectProtocolId = void 0;\n    (function (ProjectProtocolId) {\n        ProjectProtocolId[\"Rest\"] = \"rest\";\n        ProjectProtocolId[\"Graphql\"] = \"graphql\";\n        ProjectProtocolId[\"Websocket\"] = \"websocket\";\n    })(exports.ProjectProtocolId || (exports.ProjectProtocolId = {}));\n\n    exports.ProjectServiceId = void 0;\n    (function (ProjectServiceId) {\n        ProjectServiceId[\"Account\"] = \"account\";\n        ProjectServiceId[\"Avatars\"] = \"avatars\";\n        ProjectServiceId[\"Databases\"] = \"databases\";\n        ProjectServiceId[\"Tablesdb\"] = \"tablesdb\";\n        ProjectServiceId[\"Locale\"] = \"locale\";\n        ProjectServiceId[\"Health\"] = \"health\";\n        ProjectServiceId[\"Project\"] = \"project\";\n        ProjectServiceId[\"Storage\"] = \"storage\";\n        ProjectServiceId[\"Teams\"] = \"teams\";\n        ProjectServiceId[\"Users\"] = \"users\";\n        ProjectServiceId[\"Vcs\"] = \"vcs\";\n        ProjectServiceId[\"Sites\"] = \"sites\";\n        ProjectServiceId[\"Functions\"] = \"functions\";\n        ProjectServiceId[\"Proxy\"] = \"proxy\";\n        ProjectServiceId[\"Graphql\"] = \"graphql\";\n        ProjectServiceId[\"Migrations\"] = \"migrations\";\n        ProjectServiceId[\"Messaging\"] = \"messaging\";\n        ProjectServiceId[\"Advisor\"] = \"advisor\";\n    })(exports.ProjectServiceId || (exports.ProjectServiceId = {}));\n\n    exports.ProjectSMTPSecure = void 0;\n    (function (ProjectSMTPSecure) {\n        ProjectSMTPSecure[\"Tls\"] = \"tls\";\n        ProjectSMTPSecure[\"Ssl\"] = \"ssl\";\n    })(exports.ProjectSMTPSecure || (exports.ProjectSMTPSecure = {}));\n\n    exports.ProjectUsageRange = void 0;\n    (function (ProjectUsageRange) {\n        ProjectUsageRange[\"OneHour\"] = \"1h\";\n        ProjectUsageRange[\"OneDay\"] = \"1d\";\n    })(exports.ProjectUsageRange || (exports.ProjectUsageRange = {}));\n\n    exports.ScheduleResourceType = void 0;\n    (function (ScheduleResourceType) {\n        ScheduleResourceType[\"Function\"] = \"function\";\n        ScheduleResourceType[\"Execution\"] = \"execution\";\n        ScheduleResourceType[\"Message\"] = \"message\";\n        ScheduleResourceType[\"Backup\"] = \"backup\";\n    })(exports.ScheduleResourceType || (exports.ScheduleResourceType = {}));\n\n    exports.Status = void 0;\n    (function (Status) {\n        Status[\"Active\"] = \"active\";\n    })(exports.Status || (exports.Status = {}));\n\n    exports.StatusCode = void 0;\n    (function (StatusCode) {\n        StatusCode[\"MovedPermanently\"] = \"301\";\n        StatusCode[\"Found\"] = \"302\";\n        StatusCode[\"TemporaryRedirect\"] = \"307\";\n        StatusCode[\"PermanentRedirect\"] = \"308\";\n    })(exports.StatusCode || (exports.StatusCode = {}));\n\n    exports.ProxyResourceType = void 0;\n    (function (ProxyResourceType) {\n        ProxyResourceType[\"Site\"] = \"site\";\n        ProxyResourceType[\"Function\"] = \"function\";\n    })(exports.ProxyResourceType || (exports.ProxyResourceType = {}));\n\n    exports.Framework = void 0;\n    (function (Framework) {\n        Framework[\"Analog\"] = \"analog\";\n        Framework[\"Angular\"] = \"angular\";\n        Framework[\"Nextjs\"] = \"nextjs\";\n        Framework[\"React\"] = \"react\";\n        Framework[\"Nuxt\"] = \"nuxt\";\n        Framework[\"Vue\"] = \"vue\";\n        Framework[\"Sveltekit\"] = \"sveltekit\";\n        Framework[\"Astro\"] = \"astro\";\n        Framework[\"Tanstackstart\"] = \"tanstack-start\";\n        Framework[\"Remix\"] = \"remix\";\n        Framework[\"Lynx\"] = \"lynx\";\n        Framework[\"Flutter\"] = \"flutter\";\n        Framework[\"Reactnative\"] = \"react-native\";\n        Framework[\"Vite\"] = \"vite\";\n        Framework[\"Other\"] = \"other\";\n    })(exports.Framework || (exports.Framework = {}));\n\n    exports.BuildRuntime = void 0;\n    (function (BuildRuntime) {\n        BuildRuntime[\"Node145\"] = \"node-14.5\";\n        BuildRuntime[\"Node160\"] = \"node-16.0\";\n        BuildRuntime[\"Node180\"] = \"node-18.0\";\n        BuildRuntime[\"Node190\"] = \"node-19.0\";\n        BuildRuntime[\"Node200\"] = \"node-20.0\";\n        BuildRuntime[\"Node210\"] = \"node-21.0\";\n        BuildRuntime[\"Node22\"] = \"node-22\";\n        BuildRuntime[\"Node23\"] = \"node-23\";\n        BuildRuntime[\"Node24\"] = \"node-24\";\n        BuildRuntime[\"Node25\"] = \"node-25\";\n        BuildRuntime[\"Php80\"] = \"php-8.0\";\n        BuildRuntime[\"Php81\"] = \"php-8.1\";\n        BuildRuntime[\"Php82\"] = \"php-8.2\";\n        BuildRuntime[\"Php83\"] = \"php-8.3\";\n        BuildRuntime[\"Php84\"] = \"php-8.4\";\n        BuildRuntime[\"Ruby30\"] = \"ruby-3.0\";\n        BuildRuntime[\"Ruby31\"] = \"ruby-3.1\";\n        BuildRuntime[\"Ruby32\"] = \"ruby-3.2\";\n        BuildRuntime[\"Ruby33\"] = \"ruby-3.3\";\n        BuildRuntime[\"Ruby34\"] = \"ruby-3.4\";\n        BuildRuntime[\"Ruby40\"] = \"ruby-4.0\";\n        BuildRuntime[\"Python38\"] = \"python-3.8\";\n        BuildRuntime[\"Python39\"] = \"python-3.9\";\n        BuildRuntime[\"Python310\"] = \"python-3.10\";\n        BuildRuntime[\"Python311\"] = \"python-3.11\";\n        BuildRuntime[\"Python312\"] = \"python-3.12\";\n        BuildRuntime[\"Python313\"] = \"python-3.13\";\n        BuildRuntime[\"Python314\"] = \"python-3.14\";\n        BuildRuntime[\"Pythonml311\"] = \"python-ml-3.11\";\n        BuildRuntime[\"Pythonml312\"] = \"python-ml-3.12\";\n        BuildRuntime[\"Pythonml313\"] = \"python-ml-3.13\";\n        BuildRuntime[\"Deno140\"] = \"deno-1.40\";\n        BuildRuntime[\"Deno146\"] = \"deno-1.46\";\n        BuildRuntime[\"Deno20\"] = \"deno-2.0\";\n        BuildRuntime[\"Deno25\"] = \"deno-2.5\";\n        BuildRuntime[\"Deno26\"] = \"deno-2.6\";\n        BuildRuntime[\"Dart215\"] = \"dart-2.15\";\n        BuildRuntime[\"Dart216\"] = \"dart-2.16\";\n        BuildRuntime[\"Dart217\"] = \"dart-2.17\";\n        BuildRuntime[\"Dart218\"] = \"dart-2.18\";\n        BuildRuntime[\"Dart219\"] = \"dart-2.19\";\n        BuildRuntime[\"Dart30\"] = \"dart-3.0\";\n        BuildRuntime[\"Dart31\"] = \"dart-3.1\";\n        BuildRuntime[\"Dart33\"] = \"dart-3.3\";\n        BuildRuntime[\"Dart35\"] = \"dart-3.5\";\n        BuildRuntime[\"Dart38\"] = \"dart-3.8\";\n        BuildRuntime[\"Dart39\"] = \"dart-3.9\";\n        BuildRuntime[\"Dart310\"] = \"dart-3.10\";\n        BuildRuntime[\"Dart311\"] = \"dart-3.11\";\n        BuildRuntime[\"Dart312\"] = \"dart-3.12\";\n        BuildRuntime[\"Dotnet60\"] = \"dotnet-6.0\";\n        BuildRuntime[\"Dotnet70\"] = \"dotnet-7.0\";\n        BuildRuntime[\"Dotnet80\"] = \"dotnet-8.0\";\n        BuildRuntime[\"Dotnet10\"] = \"dotnet-10\";\n        BuildRuntime[\"Java80\"] = \"java-8.0\";\n        BuildRuntime[\"Java110\"] = \"java-11.0\";\n        BuildRuntime[\"Java170\"] = \"java-17.0\";\n        BuildRuntime[\"Java180\"] = \"java-18.0\";\n        BuildRuntime[\"Java210\"] = \"java-21.0\";\n        BuildRuntime[\"Java22\"] = \"java-22\";\n        BuildRuntime[\"Java25\"] = \"java-25\";\n        BuildRuntime[\"Swift55\"] = \"swift-5.5\";\n        BuildRuntime[\"Swift58\"] = \"swift-5.8\";\n        BuildRuntime[\"Swift59\"] = \"swift-5.9\";\n        BuildRuntime[\"Swift510\"] = \"swift-5.10\";\n        BuildRuntime[\"Swift62\"] = \"swift-6.2\";\n        BuildRuntime[\"Kotlin16\"] = \"kotlin-1.6\";\n        BuildRuntime[\"Kotlin18\"] = \"kotlin-1.8\";\n        BuildRuntime[\"Kotlin19\"] = \"kotlin-1.9\";\n        BuildRuntime[\"Kotlin20\"] = \"kotlin-2.0\";\n        BuildRuntime[\"Kotlin23\"] = \"kotlin-2.3\";\n        BuildRuntime[\"Cpp17\"] = \"cpp-17\";\n        BuildRuntime[\"Cpp20\"] = \"cpp-20\";\n        BuildRuntime[\"Bun10\"] = \"bun-1.0\";\n        BuildRuntime[\"Bun11\"] = \"bun-1.1\";\n        BuildRuntime[\"Bun12\"] = \"bun-1.2\";\n        BuildRuntime[\"Bun13\"] = \"bun-1.3\";\n        BuildRuntime[\"Go123\"] = \"go-1.23\";\n        BuildRuntime[\"Go124\"] = \"go-1.24\";\n        BuildRuntime[\"Go125\"] = \"go-1.25\";\n        BuildRuntime[\"Go126\"] = \"go-1.26\";\n        BuildRuntime[\"Rust183\"] = \"rust-1.83\";\n        BuildRuntime[\"Static1\"] = \"static-1\";\n        BuildRuntime[\"Flutter324\"] = \"flutter-3.24\";\n        BuildRuntime[\"Flutter327\"] = \"flutter-3.27\";\n        BuildRuntime[\"Flutter329\"] = \"flutter-3.29\";\n        BuildRuntime[\"Flutter332\"] = \"flutter-3.32\";\n        BuildRuntime[\"Flutter335\"] = \"flutter-3.35\";\n        BuildRuntime[\"Flutter338\"] = \"flutter-3.38\";\n        BuildRuntime[\"Flutter341\"] = \"flutter-3.41\";\n        BuildRuntime[\"Flutter344\"] = \"flutter-3.44\";\n    })(exports.BuildRuntime || (exports.BuildRuntime = {}));\n\n    exports.Adapter = void 0;\n    (function (Adapter) {\n        Adapter[\"Static\"] = \"static\";\n        Adapter[\"Ssr\"] = \"ssr\";\n    })(exports.Adapter || (exports.Adapter = {}));\n\n    exports.SiteTemplateUseCase = void 0;\n    (function (SiteTemplateUseCase) {\n        SiteTemplateUseCase[\"Portfolio\"] = \"portfolio\";\n        SiteTemplateUseCase[\"Starter\"] = \"starter\";\n        SiteTemplateUseCase[\"Events\"] = \"events\";\n        SiteTemplateUseCase[\"Ecommerce\"] = \"ecommerce\";\n        SiteTemplateUseCase[\"Documentation\"] = \"documentation\";\n        SiteTemplateUseCase[\"Blog\"] = \"blog\";\n        SiteTemplateUseCase[\"Ai\"] = \"ai\";\n        SiteTemplateUseCase[\"Forms\"] = \"forms\";\n        SiteTemplateUseCase[\"Dashboard\"] = \"dashboard\";\n    })(exports.SiteTemplateUseCase || (exports.SiteTemplateUseCase = {}));\n\n    exports.Compression = void 0;\n    (function (Compression) {\n        Compression[\"None\"] = \"none\";\n        Compression[\"Gzip\"] = \"gzip\";\n        Compression[\"Zstd\"] = \"zstd\";\n    })(exports.Compression || (exports.Compression = {}));\n\n    exports.ImageGravity = void 0;\n    (function (ImageGravity) {\n        ImageGravity[\"Center\"] = \"center\";\n        ImageGravity[\"Topleft\"] = \"top-left\";\n        ImageGravity[\"Top\"] = \"top\";\n        ImageGravity[\"Topright\"] = \"top-right\";\n        ImageGravity[\"Left\"] = \"left\";\n        ImageGravity[\"Right\"] = \"right\";\n        ImageGravity[\"Bottomleft\"] = \"bottom-left\";\n        ImageGravity[\"Bottom\"] = \"bottom\";\n        ImageGravity[\"Bottomright\"] = \"bottom-right\";\n    })(exports.ImageGravity || (exports.ImageGravity = {}));\n\n    exports.TablesDBIndexType = void 0;\n    (function (TablesDBIndexType) {\n        TablesDBIndexType[\"Key\"] = \"key\";\n        TablesDBIndexType[\"Fulltext\"] = \"fulltext\";\n        TablesDBIndexType[\"Unique\"] = \"unique\";\n        TablesDBIndexType[\"Spatial\"] = \"spatial\";\n    })(exports.TablesDBIndexType || (exports.TablesDBIndexType = {}));\n\n    exports.PasswordHash = void 0;\n    (function (PasswordHash) {\n        PasswordHash[\"Sha1\"] = \"sha1\";\n        PasswordHash[\"Sha224\"] = \"sha224\";\n        PasswordHash[\"Sha256\"] = \"sha256\";\n        PasswordHash[\"Sha384\"] = \"sha384\";\n        PasswordHash[\"Sha512224\"] = \"sha512/224\";\n        PasswordHash[\"Sha512256\"] = \"sha512/256\";\n        PasswordHash[\"Sha512\"] = \"sha512\";\n        PasswordHash[\"Sha3224\"] = \"sha3-224\";\n        PasswordHash[\"Sha3256\"] = \"sha3-256\";\n        PasswordHash[\"Sha3384\"] = \"sha3-384\";\n        PasswordHash[\"Sha3512\"] = \"sha3-512\";\n    })(exports.PasswordHash || (exports.PasswordHash = {}));\n\n    exports.MessagingProviderType = void 0;\n    (function (MessagingProviderType) {\n        MessagingProviderType[\"Email\"] = \"email\";\n        MessagingProviderType[\"Sms\"] = \"sms\";\n        MessagingProviderType[\"Push\"] = \"push\";\n    })(exports.MessagingProviderType || (exports.MessagingProviderType = {}));\n\n    exports.VCSDetectionType = void 0;\n    (function (VCSDetectionType) {\n        VCSDetectionType[\"Runtime\"] = \"runtime\";\n        VCSDetectionType[\"Framework\"] = \"framework\";\n    })(exports.VCSDetectionType || (exports.VCSDetectionType = {}));\n\n    exports.EmbeddingModel = void 0;\n    (function (EmbeddingModel) {\n        EmbeddingModel[\"Nomicembedtext\"] = \"nomic-embed-text\";\n        EmbeddingModel[\"Embeddinggemma\"] = \"embedding-gemma\";\n        EmbeddingModel[\"Allminilm\"] = \"all-minilm\";\n        EmbeddingModel[\"Bgesmall\"] = \"bge-small\";\n    })(exports.EmbeddingModel || (exports.EmbeddingModel = {}));\n\n    exports.VectorsDBIndexType = void 0;\n    (function (VectorsDBIndexType) {\n        VectorsDBIndexType[\"HnswEuclidean\"] = \"hnsw_euclidean\";\n        VectorsDBIndexType[\"HnswDot\"] = \"hnsw_dot\";\n        VectorsDBIndexType[\"HnswCosine\"] = \"hnsw_cosine\";\n        VectorsDBIndexType[\"Object\"] = \"object\";\n        VectorsDBIndexType[\"Key\"] = \"key\";\n        VectorsDBIndexType[\"Unique\"] = \"unique\";\n    })(exports.VectorsDBIndexType || (exports.VectorsDBIndexType = {}));\n\n    exports.DatabaseType = void 0;\n    (function (DatabaseType) {\n        DatabaseType[\"Legacy\"] = \"legacy\";\n        DatabaseType[\"Tablesdb\"] = \"tablesdb\";\n        DatabaseType[\"Documentsdb\"] = \"documentsdb\";\n        DatabaseType[\"Vectorsdb\"] = \"vectorsdb\";\n    })(exports.DatabaseType || (exports.DatabaseType = {}));\n\n    exports.AttributeStatus = void 0;\n    (function (AttributeStatus) {\n        AttributeStatus[\"Available\"] = \"available\";\n        AttributeStatus[\"Processing\"] = \"processing\";\n        AttributeStatus[\"Deleting\"] = \"deleting\";\n        AttributeStatus[\"Stuck\"] = \"stuck\";\n        AttributeStatus[\"Failed\"] = \"failed\";\n    })(exports.AttributeStatus || (exports.AttributeStatus = {}));\n\n    exports.ColumnStatus = void 0;\n    (function (ColumnStatus) {\n        ColumnStatus[\"Available\"] = \"available\";\n        ColumnStatus[\"Processing\"] = \"processing\";\n        ColumnStatus[\"Deleting\"] = \"deleting\";\n        ColumnStatus[\"Stuck\"] = \"stuck\";\n        ColumnStatus[\"Failed\"] = \"failed\";\n    })(exports.ColumnStatus || (exports.ColumnStatus = {}));\n\n    exports.IndexStatus = void 0;\n    (function (IndexStatus) {\n        IndexStatus[\"Available\"] = \"available\";\n        IndexStatus[\"Processing\"] = \"processing\";\n        IndexStatus[\"Deleting\"] = \"deleting\";\n        IndexStatus[\"Stuck\"] = \"stuck\";\n        IndexStatus[\"Failed\"] = \"failed\";\n    })(exports.IndexStatus || (exports.IndexStatus = {}));\n\n    exports.DetectionFrameworkType = void 0;\n    (function (DetectionFrameworkType) {\n        DetectionFrameworkType[\"Framework\"] = \"framework\";\n    })(exports.DetectionFrameworkType || (exports.DetectionFrameworkType = {}));\n\n    exports.DetectionRuntimeType = void 0;\n    (function (DetectionRuntimeType) {\n        DetectionRuntimeType[\"Runtime\"] = \"runtime\";\n    })(exports.DetectionRuntimeType || (exports.DetectionRuntimeType = {}));\n\n    exports.DeploymentStatus = void 0;\n    (function (DeploymentStatus) {\n        DeploymentStatus[\"Waiting\"] = \"waiting\";\n        DeploymentStatus[\"Processing\"] = \"processing\";\n        DeploymentStatus[\"Building\"] = \"building\";\n        DeploymentStatus[\"Ready\"] = \"ready\";\n        DeploymentStatus[\"Canceled\"] = \"canceled\";\n        DeploymentStatus[\"Failed\"] = \"failed\";\n    })(exports.DeploymentStatus || (exports.DeploymentStatus = {}));\n\n    exports.ExecutionTrigger = void 0;\n    (function (ExecutionTrigger) {\n        ExecutionTrigger[\"Http\"] = \"http\";\n        ExecutionTrigger[\"Schedule\"] = \"schedule\";\n        ExecutionTrigger[\"Event\"] = \"event\";\n    })(exports.ExecutionTrigger || (exports.ExecutionTrigger = {}));\n\n    exports.ExecutionStatus = void 0;\n    (function (ExecutionStatus) {\n        ExecutionStatus[\"Waiting\"] = \"waiting\";\n        ExecutionStatus[\"Processing\"] = \"processing\";\n        ExecutionStatus[\"Completed\"] = \"completed\";\n        ExecutionStatus[\"Failed\"] = \"failed\";\n        ExecutionStatus[\"Scheduled\"] = \"scheduled\";\n    })(exports.ExecutionStatus || (exports.ExecutionStatus = {}));\n\n    exports.OAuth2GooglePrompt = void 0;\n    (function (OAuth2GooglePrompt) {\n        OAuth2GooglePrompt[\"None\"] = \"none\";\n        OAuth2GooglePrompt[\"Consent\"] = \"consent\";\n        OAuth2GooglePrompt[\"SelectAccount\"] = \"select_account\";\n    })(exports.OAuth2GooglePrompt || (exports.OAuth2GooglePrompt = {}));\n\n    exports.PlatformType = void 0;\n    (function (PlatformType) {\n        PlatformType[\"Windows\"] = \"windows\";\n        PlatformType[\"Apple\"] = \"apple\";\n        PlatformType[\"Android\"] = \"android\";\n        PlatformType[\"Linux\"] = \"linux\";\n        PlatformType[\"Web\"] = \"web\";\n    })(exports.PlatformType || (exports.PlatformType = {}));\n\n    exports.HealthAntivirusStatus = void 0;\n    (function (HealthAntivirusStatus) {\n        HealthAntivirusStatus[\"Disabled\"] = \"disabled\";\n        HealthAntivirusStatus[\"Offline\"] = \"offline\";\n        HealthAntivirusStatus[\"Online\"] = \"online\";\n    })(exports.HealthAntivirusStatus || (exports.HealthAntivirusStatus = {}));\n\n    exports.HealthCheckStatus = void 0;\n    (function (HealthCheckStatus) {\n        HealthCheckStatus[\"Pass\"] = \"pass\";\n        HealthCheckStatus[\"Fail\"] = \"fail\";\n    })(exports.HealthCheckStatus || (exports.HealthCheckStatus = {}));\n\n    exports.ProxyRuleDeploymentResourceType = void 0;\n    (function (ProxyRuleDeploymentResourceType) {\n        ProxyRuleDeploymentResourceType[\"Function\"] = \"function\";\n        ProxyRuleDeploymentResourceType[\"Site\"] = \"site\";\n    })(exports.ProxyRuleDeploymentResourceType || (exports.ProxyRuleDeploymentResourceType = {}));\n\n    exports.ProxyRuleStatus = void 0;\n    (function (ProxyRuleStatus) {\n        ProxyRuleStatus[\"Unverified\"] = \"unverified\";\n        ProxyRuleStatus[\"Verifying\"] = \"verifying\";\n        ProxyRuleStatus[\"Verified\"] = \"verified\";\n    })(exports.ProxyRuleStatus || (exports.ProxyRuleStatus = {}));\n\n    exports.MessageStatus = void 0;\n    (function (MessageStatus) {\n        MessageStatus[\"Draft\"] = \"draft\";\n        MessageStatus[\"Processing\"] = \"processing\";\n        MessageStatus[\"Scheduled\"] = \"scheduled\";\n        MessageStatus[\"Sent\"] = \"sent\";\n        MessageStatus[\"Failed\"] = \"failed\";\n    })(exports.MessageStatus || (exports.MessageStatus = {}));\n\n    exports.BillingPlanGroup = void 0;\n    (function (BillingPlanGroup) {\n        BillingPlanGroup[\"Starter\"] = \"starter\";\n        BillingPlanGroup[\"Pro\"] = \"pro\";\n        BillingPlanGroup[\"Scale\"] = \"scale\";\n    })(exports.BillingPlanGroup || (exports.BillingPlanGroup = {}));\n\n    exports.DomainTransferStatusEnum = void 0;\n    (function (DomainTransferStatusEnum) {\n        DomainTransferStatusEnum[\"Transferrable\"] = \"transferrable\";\n        DomainTransferStatusEnum[\"NotTransferrable\"] = \"not_transferrable\";\n        DomainTransferStatusEnum[\"PendingOwner\"] = \"pending_owner\";\n        DomainTransferStatusEnum[\"PendingAdmin\"] = \"pending_admin\";\n        DomainTransferStatusEnum[\"PendingRegistry\"] = \"pending_registry\";\n        DomainTransferStatusEnum[\"Completed\"] = \"completed\";\n        DomainTransferStatusEnum[\"Cancelled\"] = \"cancelled\";\n        DomainTransferStatusEnum[\"ServiceUnavailable\"] = \"service_unavailable\";\n    })(exports.DomainTransferStatusEnum || (exports.DomainTransferStatusEnum = {}));\n\n    exports.DomainPurchaseStatus = void 0;\n    (function (DomainPurchaseStatus) {\n        DomainPurchaseStatus[\"Pending\"] = \"pending\";\n        DomainPurchaseStatus[\"Succeeded\"] = \"succeeded\";\n        DomainPurchaseStatus[\"Failed\"] = \"failed\";\n        DomainPurchaseStatus[\"Cancelled\"] = \"cancelled\";\n    })(exports.DomainPurchaseStatus || (exports.DomainPurchaseStatus = {}));\n\n    exports.Account = Account;\n    exports.Activities = Activities;\n    exports.Advisor = Advisor;\n    exports.Apps = Apps;\n    exports.AppwriteException = AppwriteException;\n    exports.Assistant = Assistant;\n    exports.Avatars = Avatars;\n    exports.Backups = Backups;\n    exports.Channel = Channel;\n    exports.Client = Client;\n    exports.Compute = Compute;\n    exports.Console = Console;\n    exports.Databases = Databases;\n    exports.DocumentsDB = DocumentsDB;\n    exports.Domains = Domains;\n    exports.Functions = Functions;\n    exports.Graphql = Graphql;\n    exports.Health = Health;\n    exports.ID = ID;\n    exports.Locale = Locale;\n    exports.Manager = Manager;\n    exports.Messaging = Messaging;\n    exports.Migrations = Migrations;\n    exports.Operator = Operator;\n    exports.Organization = Organization;\n    exports.Organizations = Organizations;\n    exports.Permission = Permission;\n    exports.Presences = Presences;\n    exports.Project = Project;\n    exports.Projects = Projects;\n    exports.Proxy = Proxy;\n    exports.Query = Query;\n    exports.Realtime = Realtime;\n    exports.Role = Role;\n    exports.Sites = Sites;\n    exports.Storage = Storage;\n    exports.TablesDB = TablesDB;\n    exports.Teams = Teams;\n    exports.Tokens = Tokens;\n    exports.Usage = Usage;\n    exports.Users = Users;\n    exports.Vcs = Vcs;\n    exports.VectorsDB = VectorsDB;\n    exports.Webhooks = Webhooks;\n\n})(this.Appwrite = this.Appwrite || {});\n"]}