import { Service } from '../service'; import { Client } from '../client'; import type { Models } from '../models'; export declare class Users extends Service { constructor(client: Client); /** * List Users * * Get a list of all the project's users. You can use the query params to * filter your results. * * @param {string[]} queries * @param {string} search * @throws {AppwriteException} * @returns {Promise} */ list(queries?: string[], search?: string): Promise>; /** * Create User * * Create a new user. * * @param {string} userId * @param {string} email * @param {string} phone * @param {string} password * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ create(userId: string, email?: string, phone?: string, password?: string, name?: string): Promise>; /** * Create User with Argon2 Password * * Create a new user. Password provided must be hashed with the * [Argon2](https://en.wikipedia.org/wiki/Argon2) algorithm. Use the [POST * /users](/docs/server/users#usersCreate) endpoint to create users with a * plain text password. * * @param {string} userId * @param {string} email * @param {string} password * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ createArgon2User(userId: string, email: string, password: string, name?: string): Promise>; /** * Create User with Bcrypt Password * * Create a new user. Password provided must be hashed with the * [Bcrypt](https://en.wikipedia.org/wiki/Bcrypt) algorithm. Use the [POST * /users](/docs/server/users#usersCreate) endpoint to create users with a * plain text password. * * @param {string} userId * @param {string} email * @param {string} password * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ createBcryptUser(userId: string, email: string, password: string, name?: string): Promise>; /** * Create User with MD5 Password * * Create a new user. Password provided must be hashed with the * [MD5](https://en.wikipedia.org/wiki/MD5) algorithm. Use the [POST * /users](/docs/server/users#usersCreate) endpoint to create users with a * plain text password. * * @param {string} userId * @param {string} email * @param {string} password * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ createMD5User(userId: string, email: string, password: string, name?: string): Promise>; /** * Create User with PHPass Password * * Create a new user. Password provided must be hashed with the * [PHPass](https://www.openwall.com/phpass/) algorithm. Use the [POST * /users](/docs/server/users#usersCreate) endpoint to create users with a * plain text password. * * @param {string} userId * @param {string} email * @param {string} password * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ createPHPassUser(userId: string, email: string, password: string, name?: string): Promise>; /** * Create User with Scrypt Password * * Create a new user. Password provided must be hashed with the * [Scrypt](https://github.com/Tarsnap/scrypt) algorithm. Use the [POST * /users](/docs/server/users#usersCreate) endpoint to create users with a * plain text password. * * @param {string} userId * @param {string} email * @param {string} password * @param {string} passwordSalt * @param {number} passwordCpu * @param {number} passwordMemory * @param {number} passwordParallel * @param {number} passwordLength * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ createScryptUser(userId: string, email: string, password: string, passwordSalt: string, passwordCpu: number, passwordMemory: number, passwordParallel: number, passwordLength: number, name?: string): Promise>; /** * Create User with Scrypt Modified Password * * Create a new user. Password provided must be hashed with the [Scrypt * Modified](https://gist.github.com/Meldiron/eecf84a0225eccb5a378d45bb27462cc) * algorithm. Use the [POST /users](/docs/server/users#usersCreate) endpoint * to create users with a plain text password. * * @param {string} userId * @param {string} email * @param {string} password * @param {string} passwordSalt * @param {string} passwordSaltSeparator * @param {string} passwordSignerKey * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ createScryptModifiedUser(userId: string, email: string, password: string, passwordSalt: string, passwordSaltSeparator: string, passwordSignerKey: string, name?: string): Promise>; /** * Create User with SHA Password * * Create a new user. Password provided must be hashed with the * [SHA](https://en.wikipedia.org/wiki/Secure_Hash_Algorithm) algorithm. Use * the [POST /users](/docs/server/users#usersCreate) endpoint to create users * with a plain text password. * * @param {string} userId * @param {string} email * @param {string} password * @param {string} passwordVersion * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ createSHAUser(userId: string, email: string, password: string, passwordVersion?: string, name?: string): Promise>; /** * Get usage stats for the users API * * * @param {string} range * @param {string} provider * @throws {AppwriteException} * @returns {Promise} */ getUsage(range?: string, provider?: string): Promise; /** * Get User * * Get a user by its unique ID. * * @param {string} userId * @throws {AppwriteException} * @returns {Promise} */ get(userId: string): Promise>; /** * Delete User * * Delete a user by its unique ID, thereby releasing it's ID. Since ID is * released and can be reused, all user-related resources like documents or * storage files should be deleted before user deletion. If you want to keep * ID reserved, use the [updateStatus](/docs/server/users#usersUpdateStatus) * endpoint instead. * * @param {string} userId * @throws {AppwriteException} * @returns {Promise} */ delete(userId: string): Promise<{}>; /** * Update Email * * Update the user email by its unique ID. * * @param {string} userId * @param {string} email * @throws {AppwriteException} * @returns {Promise} */ updateEmail(userId: string, email: string): Promise>; /** * List User Logs * * Get the user activity logs list by its unique ID. * * @param {string} userId * @param {string[]} queries * @throws {AppwriteException} * @returns {Promise} */ listLogs(userId: string, queries?: string[]): Promise; /** * List User Memberships * * Get the user membership list by its unique ID. * * @param {string} userId * @throws {AppwriteException} * @returns {Promise} */ listMemberships(userId: string): Promise; /** * Update Name * * Update the user name by its unique ID. * * @param {string} userId * @param {string} name * @throws {AppwriteException} * @returns {Promise} */ updateName(userId: string, name: string): Promise>; /** * Update Password * * Update the user password by its unique ID. * * @param {string} userId * @param {string} password * @throws {AppwriteException} * @returns {Promise} */ updatePassword(userId: string, password: string): Promise>; /** * Update Phone * * Update the user phone by its unique ID. * * @param {string} userId * @param {string} number * @throws {AppwriteException} * @returns {Promise} */ updatePhone(userId: string, number: string): Promise>; /** * Get User Preferences * * Get the user preferences by its unique ID. * * @param {string} userId * @throws {AppwriteException} * @returns {Promise} */ getPrefs(userId: string): Promise; /** * Update User Preferences * * Update the user preferences by its unique ID. The object you pass is stored * as is, and replaces any previous value. The maximum allowed prefs size is * 64kB and throws error if exceeded. * * @param {string} userId * @param {object} prefs * @throws {AppwriteException} * @returns {Promise} */ updatePrefs(userId: string, prefs: object): Promise; /** * List User Sessions * * Get the user sessions list by its unique ID. * * @param {string} userId * @throws {AppwriteException} * @returns {Promise} */ listSessions(userId: string): Promise; /** * Delete User Sessions * * Delete all user's sessions by using the user's unique ID. * * @param {string} userId * @throws {AppwriteException} * @returns {Promise} */ deleteSessions(userId: string): Promise<{}>; /** * Delete User Session * * Delete a user sessions by its unique ID. * * @param {string} userId * @param {string} sessionId * @throws {AppwriteException} * @returns {Promise} */ deleteSession(userId: string, sessionId: string): Promise<{}>; /** * Update User Status * * Update the user status by its unique ID. Use this endpoint as an * alternative to deleting a user if you want to keep user's ID reserved. * * @param {string} userId * @param {boolean} status * @throws {AppwriteException} * @returns {Promise} */ updateStatus(userId: string, status: boolean): Promise>; /** * Update Email Verification * * Update the user email verification status by its unique ID. * * @param {string} userId * @param {boolean} emailVerification * @throws {AppwriteException} * @returns {Promise} */ updateEmailVerification(userId: string, emailVerification: boolean): Promise>; /** * Update Phone Verification * * Update the user phone verification status by its unique ID. * * @param {string} userId * @param {boolean} phoneVerification * @throws {AppwriteException} * @returns {Promise} */ updatePhoneVerification(userId: string, phoneVerification: boolean): Promise>; }