{"version":3,"sources":["../../src/services/webhooks.ts"],"names":[],"mappings":";;;AAIO,IAAM,WAAN,MAAe;AAAA,EAGlB,YAAY,MAAA,EAAgB;AACxB,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAClB;AAAA,EAqBA,IAAA,CACI,kBACG,IAAA,EACwB;AAC3B,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAI,CAAC,aAAA,IAAkB,aAAA,IAAiB,OAAO,aAAA,KAAkB,YAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAI;AACzG,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,OAAA,EAAS,aAAA;AAAA,QACT,KAAA,EAAO,KAAK,CAAC;AAAA,OACjB;AAAA,IACJ;AAEA,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AAGrB,IAAA,MAAM,OAAA,GAAU,WAAA;AAChB,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,IAAI,OAAO,YAAY,WAAA,EAAa;AAChC,MAAA,OAAA,CAAQ,SAAS,CAAA,GAAI,OAAA;AAAA,IACzB;AACA,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,OAAA,CAAQ,OAAO,CAAA,GAAI,KAAA;AAAA,IACvB;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,aAA2C,EACjD;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,KAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AAAA,EAmCA,MAAA,CACI,kBACG,IAAA,EACoB;AACvB,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAK,aAAA,IAAiB,OAAO,aAAA,KAAkB,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAI;AACvF,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,SAAA,EAAW,aAAA;AAAA,QACX,GAAA,EAAK,KAAK,CAAC,CAAA;AAAA,QACX,IAAA,EAAM,KAAK,CAAC,CAAA;AAAA,QACZ,MAAA,EAAQ,KAAK,CAAC,CAAA;AAAA,QACd,OAAA,EAAS,KAAK,CAAC,CAAA;AAAA,QACf,GAAA,EAAK,KAAK,CAAC,CAAA;AAAA,QACX,YAAA,EAAc,KAAK,CAAC,CAAA;AAAA,QACpB,YAAA,EAAc,KAAK,CAAC,CAAA;AAAA,QACpB,MAAA,EAAQ,KAAK,CAAC;AAAA,OAClB;AAAA,IACJ;AAEA,IAAA,MAAM,YAAY,MAAA,CAAO,SAAA;AACzB,IAAA,MAAM,MAAM,MAAA,CAAO,GAAA;AACnB,IAAA,MAAM,OAAO,MAAA,CAAO,IAAA;AACpB,IAAA,MAAM,SAAS,MAAA,CAAO,MAAA;AACtB,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,MAAM,MAAM,MAAA,CAAO,GAAA;AACnB,IAAA,MAAM,eAAe,MAAA,CAAO,YAAA;AAC5B,IAAA,MAAM,eAAe,MAAA,CAAO,YAAA;AAC5B,IAAA,MAAM,SAAS,MAAA,CAAO,MAAA;AAEtB,IAAA,IAAI,OAAO,cAAc,WAAA,EAAa;AAClC,MAAA,MAAM,IAAI,kBAAkB,yCAAyC,CAAA;AAAA,IACzE;AACA,IAAA,IAAI,OAAO,QAAQ,WAAA,EAAa;AAC5B,MAAA,MAAM,IAAI,kBAAkB,mCAAmC,CAAA;AAAA,IACnE;AACA,IAAA,IAAI,OAAO,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,IAAI,kBAAkB,oCAAoC,CAAA;AAAA,IACpE;AACA,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAC/B,MAAA,MAAM,IAAI,kBAAkB,sCAAsC,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,OAAA,GAAU,WAAA;AAChB,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,IAAI,OAAO,cAAc,WAAA,EAAa;AAClC,MAAA,OAAA,CAAQ,WAAW,CAAA,GAAI,SAAA;AAAA,IAC3B;AACA,IAAA,IAAI,OAAO,QAAQ,WAAA,EAAa;AAC5B,MAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,GAAA;AAAA,IACrB;AACA,IAAA,IAAI,OAAO,SAAS,WAAA,EAAa;AAC7B,MAAA,OAAA,CAAQ,MAAM,CAAA,GAAI,IAAA;AAAA,IACtB;AACA,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAC/B,MAAA,OAAA,CAAQ,QAAQ,CAAA,GAAI,MAAA;AAAA,IACxB;AACA,IAAA,IAAI,OAAO,YAAY,WAAA,EAAa;AAChC,MAAA,OAAA,CAAQ,SAAS,CAAA,GAAI,OAAA;AAAA,IACzB;AACA,IAAA,IAAI,OAAO,QAAQ,WAAA,EAAa;AAC5B,MAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,GAAA;AAAA,IACrB;AACA,IAAA,IAAI,OAAO,iBAAiB,WAAA,EAAa;AACrC,MAAA,OAAA,CAAQ,cAAc,CAAA,GAAI,YAAA;AAAA,IAC9B;AACA,IAAA,IAAI,OAAO,iBAAiB,WAAA,EAAa;AACrC,MAAA,OAAA,CAAQ,cAAc,CAAA,GAAI,YAAA;AAAA,IAC9B;AACA,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAC/B,MAAA,OAAA,CAAQ,QAAQ,CAAA,GAAI,MAAA;AAAA,IACxB;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,cAAA,EAAgB;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,MAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AAAA,EAmBA,IACI,aAAA,EACuB;AACvB,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAK,aAAA,IAAiB,OAAO,aAAA,KAAkB,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAI;AACvF,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,SAAA,EAAW;AAAA,OACf;AAAA,IACJ;AAEA,IAAA,MAAM,YAAY,MAAA,CAAO,SAAA;AAEzB,IAAA,IAAI,OAAO,cAAc,WAAA,EAAa;AAClC,MAAA,MAAM,IAAI,kBAAkB,yCAAyC,CAAA;AAAA,IACzE;AAEA,IAAA,MAAM,OAAA,GAAU,uBAAA,CAAwB,OAAA,CAAQ,aAAA,EAAe,SAAS,CAAA;AACxE,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,aAA2C,EACjD;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,KAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AAAA,EAiCA,MAAA,CACI,kBACG,IAAA,EACoB;AACvB,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAK,aAAA,IAAiB,OAAO,aAAA,KAAkB,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAI;AACvF,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,SAAA,EAAW,aAAA;AAAA,QACX,IAAA,EAAM,KAAK,CAAC,CAAA;AAAA,QACZ,GAAA,EAAK,KAAK,CAAC,CAAA;AAAA,QACX,MAAA,EAAQ,KAAK,CAAC,CAAA;AAAA,QACd,OAAA,EAAS,KAAK,CAAC,CAAA;AAAA,QACf,GAAA,EAAK,KAAK,CAAC,CAAA;AAAA,QACX,YAAA,EAAc,KAAK,CAAC,CAAA;AAAA,QACpB,YAAA,EAAc,KAAK,CAAC;AAAA,OACxB;AAAA,IACJ;AAEA,IAAA,MAAM,YAAY,MAAA,CAAO,SAAA;AACzB,IAAA,MAAM,OAAO,MAAA,CAAO,IAAA;AACpB,IAAA,MAAM,MAAM,MAAA,CAAO,GAAA;AACnB,IAAA,MAAM,SAAS,MAAA,CAAO,MAAA;AACtB,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,MAAM,MAAM,MAAA,CAAO,GAAA;AACnB,IAAA,MAAM,eAAe,MAAA,CAAO,YAAA;AAC5B,IAAA,MAAM,eAAe,MAAA,CAAO,YAAA;AAE5B,IAAA,IAAI,OAAO,cAAc,WAAA,EAAa;AAClC,MAAA,MAAM,IAAI,kBAAkB,yCAAyC,CAAA;AAAA,IACzE;AACA,IAAA,IAAI,OAAO,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,IAAI,kBAAkB,oCAAoC,CAAA;AAAA,IACpE;AACA,IAAA,IAAI,OAAO,QAAQ,WAAA,EAAa;AAC5B,MAAA,MAAM,IAAI,kBAAkB,mCAAmC,CAAA;AAAA,IACnE;AACA,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAC/B,MAAA,MAAM,IAAI,kBAAkB,sCAAsC,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,OAAA,GAAU,uBAAA,CAAwB,OAAA,CAAQ,aAAA,EAAe,SAAS,CAAA;AACxE,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,IAAI,OAAO,SAAS,WAAA,EAAa;AAC7B,MAAA,OAAA,CAAQ,MAAM,CAAA,GAAI,IAAA;AAAA,IACtB;AACA,IAAA,IAAI,OAAO,QAAQ,WAAA,EAAa;AAC5B,MAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,GAAA;AAAA,IACrB;AACA,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAC/B,MAAA,OAAA,CAAQ,QAAQ,CAAA,GAAI,MAAA;AAAA,IACxB;AACA,IAAA,IAAI,OAAO,YAAY,WAAA,EAAa;AAChC,MAAA,OAAA,CAAQ,SAAS,CAAA,GAAI,OAAA;AAAA,IACzB;AACA,IAAA,IAAI,OAAO,QAAQ,WAAA,EAAa;AAC5B,MAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,GAAA;AAAA,IACrB;AACA,IAAA,IAAI,OAAO,iBAAiB,WAAA,EAAa;AACrC,MAAA,OAAA,CAAQ,cAAc,CAAA,GAAI,YAAA;AAAA,IAC9B;AACA,IAAA,IAAI,OAAO,iBAAiB,WAAA,EAAa;AACrC,MAAA,OAAA,CAAQ,cAAc,CAAA,GAAI,YAAA;AAAA,IAC9B;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,cAAA,EAAgB;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,KAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AAAA,EAmBA,OACI,aAAA,EACW;AACX,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAK,aAAA,IAAiB,OAAO,aAAA,KAAkB,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAI;AACvF,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,SAAA,EAAW;AAAA,OACf;AAAA,IACJ;AAEA,IAAA,MAAM,YAAY,MAAA,CAAO,SAAA;AAEzB,IAAA,IAAI,OAAO,cAAc,WAAA,EAAa;AAClC,MAAA,MAAM,IAAI,kBAAkB,yCAAyC,CAAA;AAAA,IACzE;AAEA,IAAA,MAAM,OAAA,GAAU,uBAAA,CAAwB,OAAA,CAAQ,aAAA,EAAe,SAAS,CAAA;AACxE,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,cAAA,EAAgB;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,QAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AAAA,EAqBA,YAAA,CACI,kBACG,IAAA,EACoB;AACvB,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAK,aAAA,IAAiB,OAAO,aAAA,KAAkB,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAI;AACvF,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,SAAA,EAAW,aAAA;AAAA,QACX,MAAA,EAAQ,KAAK,CAAC;AAAA,OAClB;AAAA,IACJ;AAEA,IAAA,MAAM,YAAY,MAAA,CAAO,SAAA;AACzB,IAAA,MAAM,SAAS,MAAA,CAAO,MAAA;AAEtB,IAAA,IAAI,OAAO,cAAc,WAAA,EAAa;AAClC,MAAA,MAAM,IAAI,kBAAkB,yCAAyC,CAAA;AAAA,IACzE;AAEA,IAAA,MAAM,OAAA,GAAU,8BAAA,CAA+B,OAAA,CAAQ,aAAA,EAAe,SAAS,CAAA;AAC/E,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAC/B,MAAA,OAAA,CAAQ,QAAQ,CAAA,GAAI,MAAA;AAAA,IACxB;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,cAAA,EAAgB;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,OAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AACJ","file":"webhooks.mjs","sourcesContent":["import { AppwriteException, Client, type Payload, UploadProgress } from '../client';\nimport type { Models } from '../models';\n\n\nexport class Webhooks {\n    client: Client;\n\n    constructor(client: Client) {\n        this.client = client;\n    }\n\n    /**\n     * Get a list of all webhooks belonging to the project. You can use the query params to filter your results.\n     *\n     * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, url, authUsername, tls, events, enabled, logs, attempts\n     * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.WebhookList>}\n     */\n    list(params?: { queries?: string[], total?: boolean }): Promise<Models.WebhookList>;\n    /**\n     * Get a list of all webhooks belonging to the project. You can use the query params to filter your results.\n     *\n     * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, url, authUsername, tls, events, enabled, logs, attempts\n     * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.WebhookList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    list(queries?: string[], total?: boolean): Promise<Models.WebhookList>;\n    list(\n        paramsOrFirst?: { queries?: string[], total?: boolean } | string[],\n        ...rest: [(boolean)?]    \n    ): Promise<Models.WebhookList> {\n        let params: { queries?: string[], total?: boolean };\n        \n        if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { queries?: string[], total?: boolean };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[],\n                total: rest[0] as boolean            \n            };\n        }\n        \n        const queries = params.queries;\n        const total = params.total;\n\n\n        const apiPath = '/webhooks';\n        const payload: 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\n        const apiHeaders: { [header: string]: string } = {\n        }\n\n        return this.client.call(\n            'get',\n            uri,\n            apiHeaders,\n            payload,\n        );\n    }\n\n    /**\n     * Create a new webhook. Use this endpoint to configure a URL that will receive events from Appwrite when specific events occur.\n     *\n     * @param {string} params.webhookId - Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.\n     * @param {string} params.url - Webhook URL.\n     * @param {string} params.name - Webhook name. Max length: 128 chars.\n     * @param {string[]} params.events - Events list. Maximum of 100 events are allowed.\n     * @param {boolean} params.enabled - Enable or disable a webhook.\n     * @param {boolean} params.tls - Certificate verification, false for disabled or true for enabled.\n     * @param {string} params.authUsername - Webhook HTTP user. Max length: 256 chars.\n     * @param {string} params.authPassword - Webhook HTTP password. Max length: 256 chars.\n     * @param {string} params.secret - Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     */\n    create(params: { webhookId: string, url: string, name: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string, secret?: string }): Promise<Models.Webhook>;\n    /**\n     * Create a new webhook. Use this endpoint to configure a URL that will receive events from Appwrite when specific events occur.\n     *\n     * @param {string} webhookId - Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.\n     * @param {string} url - Webhook URL.\n     * @param {string} name - Webhook name. Max length: 128 chars.\n     * @param {string[]} events - Events list. Maximum of 100 events are allowed.\n     * @param {boolean} enabled - Enable or disable a webhook.\n     * @param {boolean} tls - Certificate verification, false for disabled or true for enabled.\n     * @param {string} authUsername - Webhook HTTP user. Max length: 256 chars.\n     * @param {string} authPassword - Webhook HTTP password. Max length: 256 chars.\n     * @param {string} secret - Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    create(webhookId: string, url: string, name: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string, secret?: string): Promise<Models.Webhook>;\n    create(\n        paramsOrFirst: { webhookId: string, url: string, name: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string, secret?: string } | string,\n        ...rest: [(string)?, (string)?, (string[])?, (boolean)?, (boolean)?, (string)?, (string)?, (string)?]    \n    ): Promise<Models.Webhook> {\n        let params: { webhookId: string, url: string, name: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string, secret?: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { webhookId: string, url: string, name: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string, secret?: string };\n        } else {\n            params = {\n                webhookId: paramsOrFirst as string,\n                url: rest[0] as string,\n                name: rest[1] as string,\n                events: rest[2] as string[],\n                enabled: rest[3] as boolean,\n                tls: rest[4] as boolean,\n                authUsername: rest[5] as string,\n                authPassword: rest[6] as string,\n                secret: rest[7] as string            \n            };\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\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\n        const apiPath = '/webhooks';\n        const payload: 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\n        const apiHeaders: { [header: string]: string } = {\n            'content-type': 'application/json',\n        }\n\n        return this.client.call(\n            'post',\n            uri,\n            apiHeaders,\n            payload,\n        );\n    }\n\n    /**\n     * Get a webhook by its unique ID. This endpoint returns details about a specific webhook configured for a project. \n     *\n     * @param {string} params.webhookId - Webhook ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     */\n    get(params: { webhookId: string }): Promise<Models.Webhook>;\n    /**\n     * Get a webhook by its unique ID. This endpoint returns details about a specific webhook configured for a project. \n     *\n     * @param {string} webhookId - Webhook ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    get(webhookId: string): Promise<Models.Webhook>;\n    get(\n        paramsOrFirst: { webhookId: string } | string    \n    ): Promise<Models.Webhook> {\n        let params: { webhookId: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { webhookId: string };\n        } else {\n            params = {\n                webhookId: paramsOrFirst as string            \n            };\n        }\n        \n        const webhookId = params.webhookId;\n\n        if (typeof webhookId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"webhookId\"');\n        }\n\n        const apiPath = '/webhooks/{webhookId}'.replace('{webhookId}', webhookId);\n        const payload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n        }\n\n        return this.client.call(\n            'get',\n            uri,\n            apiHeaders,\n            payload,\n        );\n    }\n\n    /**\n     * Update a webhook by its unique ID. Use this endpoint to update the URL, events, or status of an existing webhook.\n     *\n     * @param {string} params.webhookId - Webhook ID.\n     * @param {string} params.name - Webhook name. Max length: 128 chars.\n     * @param {string} params.url - Webhook URL.\n     * @param {string[]} params.events - Events list. Maximum of 100 events are allowed.\n     * @param {boolean} params.enabled - Enable or disable a webhook.\n     * @param {boolean} params.tls - Certificate verification, false for disabled or true for enabled.\n     * @param {string} params.authUsername - Webhook HTTP user. Max length: 256 chars.\n     * @param {string} params.authPassword - Webhook HTTP password. Max length: 256 chars.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     */\n    update(params: { webhookId: string, name: string, url: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string }): Promise<Models.Webhook>;\n    /**\n     * Update a webhook by its unique ID. Use this endpoint to update the URL, events, or status of an existing webhook.\n     *\n     * @param {string} webhookId - Webhook ID.\n     * @param {string} name - Webhook name. Max length: 128 chars.\n     * @param {string} url - Webhook URL.\n     * @param {string[]} events - Events list. Maximum of 100 events are allowed.\n     * @param {boolean} enabled - Enable or disable a webhook.\n     * @param {boolean} tls - Certificate verification, false for disabled or true for enabled.\n     * @param {string} authUsername - Webhook HTTP user. Max length: 256 chars.\n     * @param {string} authPassword - Webhook HTTP password. Max length: 256 chars.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    update(webhookId: string, name: string, url: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string): Promise<Models.Webhook>;\n    update(\n        paramsOrFirst: { webhookId: string, name: string, url: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string } | string,\n        ...rest: [(string)?, (string)?, (string[])?, (boolean)?, (boolean)?, (string)?, (string)?]    \n    ): Promise<Models.Webhook> {\n        let params: { webhookId: string, name: string, url: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { webhookId: string, name: string, url: string, events: string[], enabled?: boolean, tls?: boolean, authUsername?: string, authPassword?: string };\n        } else {\n            params = {\n                webhookId: paramsOrFirst as string,\n                name: rest[0] as string,\n                url: rest[1] as string,\n                events: rest[2] as string[],\n                enabled: rest[3] as boolean,\n                tls: rest[4] as boolean,\n                authUsername: rest[5] as string,\n                authPassword: rest[6] as string            \n            };\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\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\n        const apiPath = '/webhooks/{webhookId}'.replace('{webhookId}', webhookId);\n        const payload: 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\n        const apiHeaders: { [header: string]: string } = {\n            'content-type': 'application/json',\n        }\n\n        return this.client.call(\n            'put',\n            uri,\n            apiHeaders,\n            payload,\n        );\n    }\n\n    /**\n     * Delete a webhook by its unique ID. Once deleted, the webhook will no longer receive project events. \n     *\n     * @param {string} params.webhookId - Webhook ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     */\n    delete(params: { webhookId: string }): Promise<{}>;\n    /**\n     * Delete a webhook by its unique ID. Once deleted, the webhook will no longer receive project events. \n     *\n     * @param {string} webhookId - Webhook ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    delete(webhookId: string): Promise<{}>;\n    delete(\n        paramsOrFirst: { webhookId: string } | string    \n    ): Promise<{}> {\n        let params: { webhookId: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { webhookId: string };\n        } else {\n            params = {\n                webhookId: paramsOrFirst as string            \n            };\n        }\n        \n        const webhookId = params.webhookId;\n\n        if (typeof webhookId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"webhookId\"');\n        }\n\n        const apiPath = '/webhooks/{webhookId}'.replace('{webhookId}', webhookId);\n        const payload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'content-type': 'application/json',\n        }\n\n        return this.client.call(\n            'delete',\n            uri,\n            apiHeaders,\n            payload,\n        );\n    }\n\n    /**\n     * Update the webhook signing key. This endpoint can be used to regenerate the signing key used to sign and validate payload deliveries for a specific webhook.\n     *\n     * @param {string} params.webhookId - Webhook ID.\n     * @param {string} params.secret - Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     */\n    updateSecret(params: { webhookId: string, secret?: string }): Promise<Models.Webhook>;\n    /**\n     * Update the webhook signing key. This endpoint can be used to regenerate the signing key used to sign and validate payload deliveries for a specific webhook.\n     *\n     * @param {string} webhookId - Webhook ID.\n     * @param {string} secret - Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Webhook>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    updateSecret(webhookId: string, secret?: string): Promise<Models.Webhook>;\n    updateSecret(\n        paramsOrFirst: { webhookId: string, secret?: string } | string,\n        ...rest: [(string)?]    \n    ): Promise<Models.Webhook> {\n        let params: { webhookId: string, secret?: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { webhookId: string, secret?: string };\n        } else {\n            params = {\n                webhookId: paramsOrFirst as string,\n                secret: rest[0] as string            \n            };\n        }\n        \n        const webhookId = params.webhookId;\n        const secret = params.secret;\n\n        if (typeof webhookId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"webhookId\"');\n        }\n\n        const apiPath = '/webhooks/{webhookId}/secret'.replace('{webhookId}', webhookId);\n        const payload: Payload = {};\n        if (typeof secret !== 'undefined') {\n            payload['secret'] = secret;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'content-type': 'application/json',\n        }\n\n        return this.client.call(\n            'patch',\n            uri,\n            apiHeaders,\n            payload,\n        );\n    }\n}\n"]}