import { IUserManager } from './Interfaces/IUserManager'; import { IObserver } from '../observer/IObserver'; import { ISubject } from '../observer/ISubject'; import { User } from '../models/user'; import { RealmManager } from './RealmManager'; import { ClientManager } from './ClientManager'; export default class UserManager extends IUserManager implements IObserver { private readonly url; private accessToken; private allowedUserFields; private realmManager; private clientManager; constructor(url: string, realmManager: RealmManager, clientManager: ClientManager, allowedUserFields?: string[]); /** * * @param queryParameter * - briefRepresentation: Defines whether brief representations are returned * - email: User's email * - emailVerified: whether the email has been verified * - enabled: User is enabled or not * - firstName * - lastName * @param queryValue * @returns { User[] } */ getUsers: (queryParameter: string, queryValue: string) => Promise; getUserId: (username: string) => Promise; get: (userId: string) => Promise; create: (email: string, username: string, enabled: boolean, firstName: string, lastName: string, password: string, isTemporaryPassword: boolean, verifyEmail: boolean, attributes: string, clientId?: string, redirectURL?: string) => Promise; modify(userId: string, user: User, isReplaceOperation: boolean): Promise; resetPassword: (userId: string, newPassword: string, isTemporary: boolean) => Promise; forgotPassword: (userId: string, clientId?: string, redirectURL?: string) => Promise; sendVerificationMail: (userId: string, clientId?: string, redirectURL?: string) => Promise; update(subject: ISubject, args: string[]): void; protected trimUserInfo(user: User): User; protected fuseUsers(a: User, b: User): User; protected getRoles(userId: string): Promise; protected modifyRoles(userId: string, realmRoles?: string[], clientRoles?: Map): Promise; delete: (userId: string) => Promise; }