import type { Query } from '@db-studio/types'; import type { AbstractServiceOptions, Item, MutationOptions, PrimaryKey } from '../types/index.js'; import { ItemsService } from './items.js'; export declare class UsersService extends ItemsService { constructor(options: AbstractServiceOptions); /** * User email has to be unique case-insensitive. This is an additional check to make sure that * the email is unique regardless of casing */ private checkUniqueEmails; /** * Check if the provided password matches the strictness as configured in * directus_settings.auth_password_policy */ private checkPasswordPolicy; private checkRemainingAdminExistence; /** * Make sure there's at least one active admin user when updating user status */ private checkRemainingActiveAdmin; /** * Get basic information of user identified by email */ private getUserByEmail; /** * Create url for inviting users */ private inviteUrl; /** * Create a new user */ createOne(data: Partial, opts?: MutationOptions): Promise; /** * Create multiple new users */ createMany(data: Partial[], opts?: MutationOptions): Promise; /** * Update many users by query */ updateByQuery(query: Query, data: Partial, opts?: MutationOptions): Promise; /** * Update a single user by primary key */ updateOne(key: PrimaryKey, data: Partial, opts?: MutationOptions): Promise; updateBatch(data: Partial[], opts?: MutationOptions): Promise; /** * Update many users by primary key */ updateMany(keys: PrimaryKey[], data: Partial, opts?: MutationOptions): Promise; /** * Delete a single user by primary key */ deleteOne(key: PrimaryKey, opts?: MutationOptions): Promise; /** * Delete multiple users by primary key */ deleteMany(keys: PrimaryKey[], opts?: MutationOptions): Promise; deleteByQuery(query: Query, opts?: MutationOptions): Promise; inviteUser(email: string | string[], role: string, url: string | null, subject?: string | null): Promise; acceptInvite(token: string, password: string): Promise; requestPasswordReset(email: string, url: string | null, subject?: string | null): Promise; resetPassword(token: string, password: string): Promise; }