import { Knex } from 'knex'; import { AbstractServiceOptions, Item, PrimaryKey, MutationOptions } from '../types'; import { Query, SchemaOverview, Accountability } from '@directus/shared/types'; import { ItemsService } from './items'; export declare class UsersService extends ItemsService { knex: Knex; accountability: Accountability | null; schema: SchemaOverview; 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; /** * 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; /** * 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; generateHash(stringHash: string): Promise; verifyHash(stringHash: string, hash: string): Promise; }