{"version":3,"sources":["../../src/services/backups.ts"],"names":[],"mappings":"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","file":"backups.mjs","sourcesContent":["import { AppwriteException, Client, type Payload, UploadProgress } from '../client';\nimport type { Models } from '../models';\n\nimport { BackupServices } from '../enums/backup-services';\n\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?: { queries?: string[] }): 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 (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { queries?: string[] };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[]            \n            };\n        }\n        \n        const queries = params.queries;\n\n\n        const apiPath = '/backups/archives';\n        const payload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            payload['queries'] = queries;\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 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: { services: BackupServices[], resourceId?: string }): 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(services: BackupServices[], resourceId?: string): Promise<Models.BackupArchive>;\n    createArchive(\n        paramsOrFirst: { services: BackupServices[], resourceId?: string } | BackupServices[],\n        ...rest: [(string)?]    \n    ): Promise<Models.BackupArchive> {\n        let params: { services: BackupServices[], resourceId?: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('services' in paramsOrFirst || 'resourceId' in paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { services: BackupServices[], resourceId?: string };\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\n        if (typeof services === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"services\"');\n        }\n\n        const apiPath = '/backups/archives';\n        const payload: 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\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 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 ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { archiveId: string };\n        } else {\n            params = {\n                archiveId: paramsOrFirst as string            \n            };\n        }\n        \n        const archiveId = params.archiveId;\n\n        if (typeof archiveId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"archiveId\"');\n        }\n\n        const apiPath = '/backups/archives/{archiveId}'.replace('{archiveId}', archiveId);\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     * 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(\n        paramsOrFirst: { archiveId: string } | string    \n    ): Promise<{}> {\n        let params: { archiveId: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { archiveId: string };\n        } else {\n            params = {\n                archiveId: paramsOrFirst as string            \n            };\n        }\n        \n        const archiveId = params.archiveId;\n\n        if (typeof archiveId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"archiveId\"');\n        }\n\n        const apiPath = '/backups/archives/{archiveId}'.replace('{archiveId}', archiveId);\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     * 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?: { queries?: string[] }): 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 (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { queries?: string[] };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[]            \n            };\n        }\n        \n        const queries = params.queries;\n\n\n        const apiPath = '/backups/policies';\n        const payload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            payload['queries'] = queries;\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 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: { policyId: string, services: BackupServices[], retention: number, schedule: string, name?: string, resourceId?: string, enabled?: boolean }): 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(policyId: string, services: BackupServices[], retention: number, schedule: string, name?: string, resourceId?: string, enabled?: boolean): Promise<Models.BackupPolicy>;\n    createPolicy(\n        paramsOrFirst: { policyId: string, services: BackupServices[], retention: number, schedule: string, name?: string, resourceId?: string, enabled?: boolean } | string,\n        ...rest: [(BackupServices[])?, (number)?, (string)?, (string)?, (string)?, (boolean)?]    \n    ): Promise<Models.BackupPolicy> {\n        let params: { policyId: string, services: BackupServices[], retention: number, schedule: string, name?: string, resourceId?: string, enabled?: boolean };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { policyId: string, services: BackupServices[], retention: number, schedule: string, name?: string, resourceId?: string, enabled?: boolean };\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\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\n        const apiPath = '/backups/policies';\n        const payload: 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\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 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 ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { policyId: string };\n        } else {\n            params = {\n                policyId: paramsOrFirst as string            \n            };\n        }\n        \n        const policyId = params.policyId;\n\n        if (typeof policyId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"policyId\"');\n        }\n\n        const apiPath = '/backups/policies/{policyId}'.replace('{policyId}', policyId);\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 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: { policyId: string, name?: string, retention?: number, schedule?: string, enabled?: boolean }): 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(policyId: string, name?: string, retention?: number, schedule?: string, enabled?: boolean): Promise<Models.BackupPolicy>;\n    updatePolicy(\n        paramsOrFirst: { policyId: string, name?: string, retention?: number, schedule?: string, enabled?: boolean } | string,\n        ...rest: [(string)?, (number)?, (string)?, (boolean)?]    \n    ): Promise<Models.BackupPolicy> {\n        let params: { policyId: string, name?: string, retention?: number, schedule?: string, enabled?: boolean };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { policyId: string, name?: string, retention?: number, schedule?: string, enabled?: boolean };\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\n        if (typeof policyId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"policyId\"');\n        }\n\n        const apiPath = '/backups/policies/{policyId}'.replace('{policyId}', policyId);\n        const payload: 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\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    /**\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(\n        paramsOrFirst: { policyId: string } | string    \n    ): Promise<{}> {\n        let params: { policyId: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { policyId: string };\n        } else {\n            params = {\n                policyId: paramsOrFirst as string            \n            };\n        }\n        \n        const policyId = params.policyId;\n\n        if (typeof policyId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"policyId\"');\n        }\n\n        const apiPath = '/backups/policies/{policyId}'.replace('{policyId}', policyId);\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     * Create and trigger a new restoration for a backup on a project.\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 - Unique 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.newResourceName - Database name. Max length: 128 chars.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.BackupRestoration>}\n     */\n    createRestoration(params: { archiveId: string, services: BackupServices[], newResourceId?: string, newResourceName?: string }): Promise<Models.BackupRestoration>;\n    /**\n     * Create and trigger a new restoration for a backup on a project.\n     *\n     * @param {string} archiveId - Backup archive ID to restore\n     * @param {BackupServices[]} services - Array of services to restore\n     * @param {string} newResourceId - Unique 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} 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(archiveId: string, services: BackupServices[], newResourceId?: string, newResourceName?: string): Promise<Models.BackupRestoration>;\n    createRestoration(\n        paramsOrFirst: { archiveId: string, services: BackupServices[], newResourceId?: string, newResourceName?: string } | string,\n        ...rest: [(BackupServices[])?, (string)?, (string)?]    \n    ): Promise<Models.BackupRestoration> {\n        let params: { archiveId: string, services: BackupServices[], newResourceId?: string, newResourceName?: string };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { archiveId: string, services: BackupServices[], newResourceId?: string, newResourceName?: string };\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\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\n        const apiPath = '/backups/restoration';\n        const payload: 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\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     * 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?: { queries?: string[] }): 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 (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { queries?: string[] };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[]            \n            };\n        }\n        \n        const queries = params.queries;\n\n\n        const apiPath = '/backups/restorations';\n        const payload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            payload['queries'] = queries;\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     * 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: { restorationId: string }): 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 ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { restorationId: string };\n        } else {\n            params = {\n                restorationId: paramsOrFirst as string            \n            };\n        }\n        \n        const restorationId = params.restorationId;\n\n        if (typeof restorationId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"restorationId\"');\n        }\n\n        const apiPath = '/backups/restorations/{restorationId}'.replace('{restorationId}', restorationId);\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"]}