import { HttpClient, HttpResponse } from '@angular/common/http'; import { ApplicationUser, AuthenticatedUser, RoleType, UserProfile } from '@mtna/core-user-ui'; import { AppEnvironment, MtnaApiConfig } from '@mtna/lib-ui'; import { MtnaLogger } from '@mtna/lib-ui/logger'; import { ChallengeConfiguration, SecurityChallenge } from '@mtna/model-core-ui'; import { Observable, ReplaySubject } from 'rxjs'; import * as i0 from "@angular/core"; export declare class BaseUserService { protected http: HttpClient; protected logger: MtnaLogger; protected config: MtnaApiConfig; baseUrl: string; baseAdminUrl: string; environment: E; userUrl: string; userUpdateUrl: string; changePasswordUrl: string; challengeUrl: string; adminUrl: string; allUsersUrl: string; addUserUrl: string; rolesURL: string; organizationsUrl: string; adminUserUpdateUrl: string; userStatusUrl: string; resetUserPasswordURL: string; logoutUrl: string; loginUrl: string; allUsersSubject: ReplaySubject[]>; allUsersRequest?: Observable>>; userSubject: ReplaySubject>; userRequest?: Observable>; constructor(http: HttpClient, logger: MtnaLogger, config: MtnaApiConfig); adminAddUser(user: ApplicationUser): Observable>; adminGetOrganizations(): Observable; adminGetRoles(): Observable; adminGetUser(id: string, refresh?: boolean): Observable | undefined>; adminResetUserPassword(user: ApplicationUser): Observable; adminSetEnable(userId: string, enabled: boolean): Observable; adminUpdateUser(user: ApplicationUser): Observable>; answerChallenge(challenge: SecurityChallenge): Observable; /** * Change password for current user. * @returns If it exists, * a redirect url will be returned. */ changePassword(oldPassword: string, newPassword: string): Observable; /** * Retrieves all ApplicationUsers, and provides an observable stream. * @param refresh Whether to clear cached users. * @returns An observable of ApplicationUsers * @remarks Method uses caching, returns a hot observable. */ getAllUsers(refresh?: boolean): Observable[]>; getChallengeConfiguration(): Observable; getChallenge(): Observable; getRoles(): Observable; getUser(refresh?: boolean): Observable>; logout(): Observable>; redirectToLogin(response?: HttpResponse): void; resetChallenge(id: string): Observable; resetPassword(id: string): Observable; setChallengeConfiguration(challenge: SecurityChallenge): Observable; updateUser(appUser: ApplicationUser, password: string): Observable>; /** * Update the user profile. * * @param [password] the user password (if required) * @returns the updated user with the new profile information * @memberof BaseUserService */ updateUserProfile(userProfile: UserProfile, password?: string): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }