import { ReflectiveInjector } from "injection-js"; import { Observable } from "rxjs"; import { IModule, ModuleConfiguration } from "../core/module"; import { DeleteQuery } from "../core/queries/deleteQuery"; import { SelectQuery } from "../core/queries/selectQuery"; import { UpdateQuery } from "../core/queries/updateQuery"; import { ResourceType } from "../core/resource"; import { UsersInterface, IUMSSignInOptions, IUMSSignUpFields, IUMOAuthInitOptions } from "./ums.types"; export declare class UMSModule = UsersInterface> implements IModule { readonly name = "users"; readonly resourceType = ResourceType.Users; private tokenManager; private requestAdapter; private requestExecuter; private dispatcher; private basePath; private currentUserObject; get currentUser(): D | null; constructor(); init(coreInjector: ReflectiveInjector): Promise; getConfig(): { [moduleName: string]: ModuleConfiguration; }; terminate(): Promise; initOAuth(options: IUMOAuthInitOptions, redirect?: boolean): Observable; signIn(options: IUMSSignInOptions): Observable; signOut(alias?: string): void; signUp(credentials: IUMSSignUpFields): Observable; isLoggedIn(alias?: string): Observable; switchUser(alias: string): void; setDefault(alias: string): void; resetDefault(): void; getUser(alias?: string): Observable; changePassword(alias: string, oldPassword: string, newPassword: string): Observable; deleteUser(alias: string, password: string): Observable; select(): SelectQuery; update(record: Partial): UpdateQuery; delete(): DeleteQuery; requestResetPassword(email: string): Observable; resetPassword(resetToken: string, newPassword: string): Observable; getUrl(api: string, ums?: boolean): string; }