{"version":3,"sources":["../../src/services/backups.ts"],"names":[],"mappings":"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","file":"backups.mjs","sourcesContent":["import { AppwriteException, Client, type Payload } from '../client';\nimport type { Models } from '../models';\n\nimport { BackupServices } from '../enums/backup-services';\nexport class Backups {\n    client: Client;\n\n    constructor(client: Client) {\n        this.client = client;\n    }\n\n    /**\n     * List all archives for a project.\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.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupArchiveList>}\n     */\n    listArchives(params?: {\n        queries?: string[];\n    }): Promise<Models.BackupArchiveList>;\n    /**\n     * List all archives for a project.\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.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupArchiveList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    listArchives(queries?: string[]): Promise<Models.BackupArchiveList>;\n    listArchives(\n        paramsOrFirst?: { queries?: string[] } | string[],\n    ): Promise<Models.BackupArchiveList> {\n        let params: { queries?: string[] };\n\n        if (\n            !paramsOrFirst ||\n            (paramsOrFirst &&\n                typeof paramsOrFirst === 'object' &&\n                !Array.isArray(paramsOrFirst))\n        ) {\n            params = (paramsOrFirst || {}) as { queries?: string[] };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[],\n            };\n        }\n\n        const queries = params.queries;\n        const apiPath = '/backups/archives';\n        const apiPayload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            apiPayload['queries'] = queries;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Create a new archive asynchronously for a project.\n     *\n     * @param {BackupServices[]} params.services - Array of services to backup\n     * @param {string} params.resourceId - Resource ID. When set, only this single resource will be backed up.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupArchive>}\n     */\n    createArchive(params: {\n        services: BackupServices[];\n        resourceId?: string;\n    }): Promise<Models.BackupArchive>;\n    /**\n     * Create a new archive asynchronously for a project.\n     *\n     * @param {BackupServices[]} services - Array of services to backup\n     * @param {string} resourceId - Resource ID. When set, only this single resource will be backed up.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupArchive>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createArchive(\n        services: BackupServices[],\n        resourceId?: string,\n    ): Promise<Models.BackupArchive>;\n    createArchive(\n        paramsOrFirst:\n            | { services: BackupServices[]; resourceId?: string }\n            | BackupServices[],\n        ...rest: [string?]\n    ): Promise<Models.BackupArchive> {\n        let params: { services: BackupServices[]; resourceId?: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst) &&\n            ('services' in paramsOrFirst || 'resourceId' in paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                services: BackupServices[];\n                resourceId?: string;\n            };\n        } else {\n            params = {\n                services: paramsOrFirst as BackupServices[],\n                resourceId: rest[0] as string,\n            };\n        }\n\n        const services = params.services;\n        const resourceId = params.resourceId;\n        if (typeof services === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"services\"',\n            );\n        }\n        const apiPath = '/backups/archives';\n        const apiPayload: Payload = {};\n        if (typeof services !== 'undefined') {\n            apiPayload['services'] = services;\n        }\n        if (typeof resourceId !== 'undefined') {\n            apiPayload['resourceId'] = resourceId;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Get a backup archive using it's ID.\n     *\n     * @param {string} params.archiveId - Archive ID. Choose a custom ID`. 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     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupArchive>}\n     */\n    getArchive(params: { archiveId: string }): Promise<Models.BackupArchive>;\n    /**\n     * Get a backup archive using it's ID.\n     *\n     * @param {string} archiveId - Archive ID. Choose a custom ID`. 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     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupArchive>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    getArchive(archiveId: string): Promise<Models.BackupArchive>;\n    getArchive(\n        paramsOrFirst: { archiveId: string } | string,\n    ): Promise<Models.BackupArchive> {\n        let params: { archiveId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { archiveId: string };\n        } else {\n            params = {\n                archiveId: paramsOrFirst as string,\n            };\n        }\n\n        const archiveId = params.archiveId;\n        if (typeof archiveId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"archiveId\"',\n            );\n        }\n        const apiPath = '/backups/archives/{archiveId}'.replace(\n            '{archiveId}',\n            encodeURIComponent(String(archiveId)),\n        );\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Delete an existing archive for a project.\n     *\n     * @param {string} params.archiveId - Policy 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     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     */\n    deleteArchive(params: { archiveId: string }): Promise<{}>;\n    /**\n     * Delete an existing archive for a project.\n     *\n     * @param {string} archiveId - Policy 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     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    deleteArchive(archiveId: string): Promise<{}>;\n    deleteArchive(paramsOrFirst: { archiveId: string } | string): Promise<{}> {\n        let params: { archiveId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { archiveId: string };\n        } else {\n            params = {\n                archiveId: paramsOrFirst as string,\n            };\n        }\n\n        const archiveId = params.archiveId;\n        if (typeof archiveId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"archiveId\"',\n            );\n        }\n        const apiPath = '/backups/archives/{archiveId}'.replace(\n            '{archiveId}',\n            encodeURIComponent(String(archiveId)),\n        );\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('delete', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * List all policies for a project.\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.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicyList>}\n     */\n    listPolicies(params?: {\n        queries?: string[];\n    }): Promise<Models.BackupPolicyList>;\n    /**\n     * List all policies for a project.\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.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicyList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    listPolicies(queries?: string[]): Promise<Models.BackupPolicyList>;\n    listPolicies(\n        paramsOrFirst?: { queries?: string[] } | string[],\n    ): Promise<Models.BackupPolicyList> {\n        let params: { queries?: string[] };\n\n        if (\n            !paramsOrFirst ||\n            (paramsOrFirst &&\n                typeof paramsOrFirst === 'object' &&\n                !Array.isArray(paramsOrFirst))\n        ) {\n            params = (paramsOrFirst || {}) as { queries?: string[] };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[],\n            };\n        }\n\n        const queries = params.queries;\n        const apiPath = '/backups/policies';\n        const apiPayload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            apiPayload['queries'] = queries;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Create a new backup policy.\n     *\n     * @param {string} params.policyId - Policy 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 {BackupServices[]} params.services - Array of services to backup\n     * @param {number} params.retention - Days to keep backups before deletion\n     * @param {string} params.schedule - Schedule CRON syntax.\n     * @param {string} params.name - Policy name. Max length: 128 chars.\n     * @param {string} params.resourceId - Resource ID. When set, only this single resource will be backed up.\n     * @param {boolean} params.enabled - Is policy enabled? When set to 'disabled', no backups will be taken\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicy>}\n     */\n    createPolicy(params: {\n        policyId: string;\n        services: BackupServices[];\n        retention: number;\n        schedule: string;\n        name?: string;\n        resourceId?: string;\n        enabled?: boolean;\n    }): Promise<Models.BackupPolicy>;\n    /**\n     * Create a new backup policy.\n     *\n     * @param {string} policyId - Policy 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 {BackupServices[]} services - Array of services to backup\n     * @param {number} retention - Days to keep backups before deletion\n     * @param {string} schedule - Schedule CRON syntax.\n     * @param {string} name - Policy name. Max length: 128 chars.\n     * @param {string} resourceId - Resource ID. When set, only this single resource will be backed up.\n     * @param {boolean} enabled - Is policy enabled? When set to 'disabled', no backups will be taken\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicy>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createPolicy(\n        policyId: string,\n        services: BackupServices[],\n        retention: number,\n        schedule: string,\n        name?: string,\n        resourceId?: string,\n        enabled?: boolean,\n    ): Promise<Models.BackupPolicy>;\n    createPolicy(\n        paramsOrFirst:\n            | {\n                  policyId: string;\n                  services: BackupServices[];\n                  retention: number;\n                  schedule: string;\n                  name?: string;\n                  resourceId?: string;\n                  enabled?: boolean;\n              }\n            | string,\n        ...rest: [\n            BackupServices[]?,\n            number?,\n            string?,\n            string?,\n            string?,\n            boolean?,\n        ]\n    ): Promise<Models.BackupPolicy> {\n        let params: {\n            policyId: string;\n            services: BackupServices[];\n            retention: number;\n            schedule: string;\n            name?: string;\n            resourceId?: string;\n            enabled?: boolean;\n        };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                policyId: string;\n                services: BackupServices[];\n                retention: number;\n                schedule: string;\n                name?: string;\n                resourceId?: string;\n                enabled?: boolean;\n            };\n        } else {\n            params = {\n                policyId: paramsOrFirst as string,\n                services: rest[0] as BackupServices[],\n                retention: rest[1] as number,\n                schedule: rest[2] as string,\n                name: rest[3] as string,\n                resourceId: rest[4] as string,\n                enabled: rest[5] as boolean,\n            };\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(\n                'Missing required parameter: \"policyId\"',\n            );\n        }\n        if (typeof services === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"services\"',\n            );\n        }\n        if (typeof retention === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"retention\"',\n            );\n        }\n        if (typeof schedule === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"schedule\"',\n            );\n        }\n        const apiPath = '/backups/policies';\n        const apiPayload: Payload = {};\n        if (typeof policyId !== 'undefined') {\n            apiPayload['policyId'] = policyId;\n        }\n        if (typeof name !== 'undefined') {\n            apiPayload['name'] = name;\n        }\n        if (typeof services !== 'undefined') {\n            apiPayload['services'] = services;\n        }\n        if (typeof resourceId !== 'undefined') {\n            apiPayload['resourceId'] = resourceId;\n        }\n        if (typeof enabled !== 'undefined') {\n            apiPayload['enabled'] = enabled;\n        }\n        if (typeof retention !== 'undefined') {\n            apiPayload['retention'] = retention;\n        }\n        if (typeof schedule !== 'undefined') {\n            apiPayload['schedule'] = schedule;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Get a backup policy using it's ID.\n     *\n     * @param {string} params.policyId - Policy ID. Choose a custom ID`. 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     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicy>}\n     */\n    getPolicy(params: { policyId: string }): Promise<Models.BackupPolicy>;\n    /**\n     * Get a backup policy using it's ID.\n     *\n     * @param {string} policyId - Policy ID. Choose a custom ID`. 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     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicy>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    getPolicy(policyId: string): Promise<Models.BackupPolicy>;\n    getPolicy(\n        paramsOrFirst: { policyId: string } | string,\n    ): Promise<Models.BackupPolicy> {\n        let params: { policyId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { policyId: string };\n        } else {\n            params = {\n                policyId: paramsOrFirst as string,\n            };\n        }\n\n        const policyId = params.policyId;\n        if (typeof policyId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"policyId\"',\n            );\n        }\n        const apiPath = '/backups/policies/{policyId}'.replace(\n            '{policyId}',\n            encodeURIComponent(String(policyId)),\n        );\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Update an existing policy using it's ID.\n     *\n     * @param {string} params.policyId - Policy ID. Choose a custom ID`. 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.name - Policy name. Max length: 128 chars.\n     * @param {number} params.retention - Days to keep backups before deletion\n     * @param {string} params.schedule - Cron expression\n     * @param {boolean} params.enabled - Is Backup enabled? When set to 'disabled', No backup will be taken\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicy>}\n     */\n    updatePolicy(params: {\n        policyId: string;\n        name?: string;\n        retention?: number;\n        schedule?: string;\n        enabled?: boolean;\n    }): Promise<Models.BackupPolicy>;\n    /**\n     * Update an existing policy using it's ID.\n     *\n     * @param {string} policyId - Policy ID. Choose a custom ID`. 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} name - Policy name. Max length: 128 chars.\n     * @param {number} retention - Days to keep backups before deletion\n     * @param {string} schedule - Cron expression\n     * @param {boolean} enabled - Is Backup enabled? When set to 'disabled', No backup will be taken\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupPolicy>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    updatePolicy(\n        policyId: string,\n        name?: string,\n        retention?: number,\n        schedule?: string,\n        enabled?: boolean,\n    ): Promise<Models.BackupPolicy>;\n    updatePolicy(\n        paramsOrFirst:\n            | {\n                  policyId: string;\n                  name?: string;\n                  retention?: number;\n                  schedule?: string;\n                  enabled?: boolean;\n              }\n            | string,\n        ...rest: [string?, number?, string?, boolean?]\n    ): Promise<Models.BackupPolicy> {\n        let params: {\n            policyId: string;\n            name?: string;\n            retention?: number;\n            schedule?: string;\n            enabled?: boolean;\n        };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                policyId: string;\n                name?: string;\n                retention?: number;\n                schedule?: string;\n                enabled?: boolean;\n            };\n        } else {\n            params = {\n                policyId: paramsOrFirst as string,\n                name: rest[0] as string,\n                retention: rest[1] as number,\n                schedule: rest[2] as string,\n                enabled: rest[3] as boolean,\n            };\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(\n                'Missing required parameter: \"policyId\"',\n            );\n        }\n        const apiPath = '/backups/policies/{policyId}'.replace(\n            '{policyId}',\n            encodeURIComponent(String(policyId)),\n        );\n        const apiPayload: Payload = {};\n        if (typeof name !== 'undefined') {\n            apiPayload['name'] = name;\n        }\n        if (typeof retention !== 'undefined') {\n            apiPayload['retention'] = retention;\n        }\n        if (typeof schedule !== 'undefined') {\n            apiPayload['schedule'] = schedule;\n        }\n        if (typeof enabled !== 'undefined') {\n            apiPayload['enabled'] = enabled;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('patch', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Delete a policy using it's ID.\n     *\n     * @param {string} params.policyId - Policy 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     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     */\n    deletePolicy(params: { policyId: string }): Promise<{}>;\n    /**\n     * Delete a policy using it's ID.\n     *\n     * @param {string} policyId - Policy 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     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    deletePolicy(policyId: string): Promise<{}>;\n    deletePolicy(paramsOrFirst: { policyId: string } | string): Promise<{}> {\n        let params: { policyId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { policyId: string };\n        } else {\n            params = {\n                policyId: paramsOrFirst as string,\n            };\n        }\n\n        const policyId = params.policyId;\n        if (typeof policyId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"policyId\"',\n            );\n        }\n        const apiPath = '/backups/policies/{policyId}'.replace(\n            '{policyId}',\n            encodeURIComponent(String(policyId)),\n        );\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('delete', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Create and trigger a new restoration for a backup on a project.\n     *\n     * For a backup of one database, the restoration resolves its destination before it is queued. When `newResourceId` is omitted, the archived database is restored in place and its own ID is returned in `options`. Pass a different `newResourceId` to restore alongside it as a new database instead.\n     *\n     * The restoration migration records the archived database in `resourceId` and `resourceType`, and the resolved database in `destinationResourceId` and `destinationResourceType`. Database types are stored canonically as `database`, `documentsdb`, or `vectorsdb`. Project-wide restorations leave these fields empty because they do not have a single source or destination database.\n     *\n     * To list every migration related to one database, use its canonical type in a nested `OR(AND(...), AND(...), AND(...))` across the root, parent, and destination relation pairs: `(resourceType, resourceId)`, `(parentResourceType, parentResourceId)`, and `(destinationResourceType, destinationResourceId)`. Legacy and TablesDB databases use `database`; the operational `resourceType` of a table migration is not rewritten to `tablesdb`.\n     *\n     * When restoring a DocumentsDB or VectorsDB database from a dedicated source, the restore provisions a fresh dedicated backing database at the source database's own specification and lands the data there. An in-place restore swaps the database onto that backing only once the restore has succeeded, and retires the backing it displaced only once that swap is confirmed, so the source keeps serving its own data until the restored data is in place and any failure leaves it untouched. A serverless source has no dedicated backing to clone and restores onto the archived database instead.\n     *\n     *\n     * @param {string} params.archiveId - Backup archive ID to restore\n     * @param {BackupServices[]} params.services - Array of services to restore\n     * @param {string} params.newResourceId - Destination resource ID. Omit to restore the archived resource in place, or pass a different ID to restore alongside it as a new resource. 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.newResourceName - Database name. Max length: 128 chars.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupRestoration>}\n     */\n    createRestoration(params: {\n        archiveId: string;\n        services: BackupServices[];\n        newResourceId?: string;\n        newResourceName?: string;\n    }): Promise<Models.BackupRestoration>;\n    /**\n     * Create and trigger a new restoration for a backup on a project.\n     *\n     * For a backup of one database, the restoration resolves its destination before it is queued. When `newResourceId` is omitted, the archived database is restored in place and its own ID is returned in `options`. Pass a different `newResourceId` to restore alongside it as a new database instead.\n     *\n     * The restoration migration records the archived database in `resourceId` and `resourceType`, and the resolved database in `destinationResourceId` and `destinationResourceType`. Database types are stored canonically as `database`, `documentsdb`, or `vectorsdb`. Project-wide restorations leave these fields empty because they do not have a single source or destination database.\n     *\n     * To list every migration related to one database, use its canonical type in a nested `OR(AND(...), AND(...), AND(...))` across the root, parent, and destination relation pairs: `(resourceType, resourceId)`, `(parentResourceType, parentResourceId)`, and `(destinationResourceType, destinationResourceId)`. Legacy and TablesDB databases use `database`; the operational `resourceType` of a table migration is not rewritten to `tablesdb`.\n     *\n     * When restoring a DocumentsDB or VectorsDB database from a dedicated source, the restore provisions a fresh dedicated backing database at the source database's own specification and lands the data there. An in-place restore swaps the database onto that backing only once the restore has succeeded, and retires the backing it displaced only once that swap is confirmed, so the source keeps serving its own data until the restored data is in place and any failure leaves it untouched. A serverless source has no dedicated backing to clone and restores onto the archived database instead.\n     *\n     *\n     * @param {string} archiveId - Backup archive ID to restore\n     * @param {BackupServices[]} services - Array of services to restore\n     * @param {string} newResourceId - Destination resource ID. Omit to restore the archived resource in place, or pass a different ID to restore alongside it as a new resource. 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} newResourceName - Database name. Max length: 128 chars.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupRestoration>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createRestoration(\n        archiveId: string,\n        services: BackupServices[],\n        newResourceId?: string,\n        newResourceName?: string,\n    ): Promise<Models.BackupRestoration>;\n    createRestoration(\n        paramsOrFirst:\n            | {\n                  archiveId: string;\n                  services: BackupServices[];\n                  newResourceId?: string;\n                  newResourceName?: string;\n              }\n            | string,\n        ...rest: [BackupServices[]?, string?, string?]\n    ): Promise<Models.BackupRestoration> {\n        let params: {\n            archiveId: string;\n            services: BackupServices[];\n            newResourceId?: string;\n            newResourceName?: string;\n        };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                archiveId: string;\n                services: BackupServices[];\n                newResourceId?: string;\n                newResourceName?: string;\n            };\n        } else {\n            params = {\n                archiveId: paramsOrFirst as string,\n                services: rest[0] as BackupServices[],\n                newResourceId: rest[1] as string,\n                newResourceName: rest[2] as string,\n            };\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(\n                'Missing required parameter: \"archiveId\"',\n            );\n        }\n        if (typeof services === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"services\"',\n            );\n        }\n        const apiPath = '/backups/restoration';\n        const apiPayload: Payload = {};\n        if (typeof archiveId !== 'undefined') {\n            apiPayload['archiveId'] = archiveId;\n        }\n        if (typeof services !== 'undefined') {\n            apiPayload['services'] = services;\n        }\n        if (typeof newResourceId !== 'undefined') {\n            apiPayload['newResourceId'] = newResourceId;\n        }\n        if (typeof newResourceName !== 'undefined') {\n            apiPayload['newResourceName'] = newResourceName;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * List all backup restorations for a project.\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.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupRestorationList>}\n     */\n    listRestorations(params?: {\n        queries?: string[];\n    }): Promise<Models.BackupRestorationList>;\n    /**\n     * List all backup restorations for a project.\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.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupRestorationList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    listRestorations(queries?: string[]): Promise<Models.BackupRestorationList>;\n    listRestorations(\n        paramsOrFirst?: { queries?: string[] } | string[],\n    ): Promise<Models.BackupRestorationList> {\n        let params: { queries?: string[] };\n\n        if (\n            !paramsOrFirst ||\n            (paramsOrFirst &&\n                typeof paramsOrFirst === 'object' &&\n                !Array.isArray(paramsOrFirst))\n        ) {\n            params = (paramsOrFirst || {}) as { queries?: string[] };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[],\n            };\n        }\n\n        const queries = params.queries;\n        const apiPath = '/backups/restorations';\n        const apiPayload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            apiPayload['queries'] = queries;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Get the current status of a backup restoration.\n     *\n     * @param {string} params.restorationId - Restoration ID. Choose a custom ID`. 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     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupRestoration>}\n     */\n    getRestoration(params: {\n        restorationId: string;\n    }): Promise<Models.BackupRestoration>;\n    /**\n     * Get the current status of a backup restoration.\n     *\n     * @param {string} restorationId - Restoration ID. Choose a custom ID`. 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     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupRestoration>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    getRestoration(restorationId: string): Promise<Models.BackupRestoration>;\n    getRestoration(\n        paramsOrFirst: { restorationId: string } | string,\n    ): Promise<Models.BackupRestoration> {\n        let params: { restorationId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { restorationId: string };\n        } else {\n            params = {\n                restorationId: paramsOrFirst as string,\n            };\n        }\n\n        const restorationId = params.restorationId;\n        if (typeof restorationId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"restorationId\"',\n            );\n        }\n        const apiPath = '/backups/restorations/{restorationId}'.replace(\n            '{restorationId}',\n            encodeURIComponent(String(restorationId)),\n        );\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n}\n"]}