import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/share'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/catch'; import 'rxjs/operator/delay'; import 'rxjs/operator/mergeMap'; import 'rxjs/operator/switchMap'; import 'rxjs/Rx'; import { HttpClient } from '@angular/common/http'; import { ConfigService } from './config.service'; export interface SessionUser { fullName: string; _id: string; organizationId: string; token: string; autoLogout: number; showLoginTime: boolean; language: string; } /** @brief The User class defines a value object that provides user specific data through the session service */ export declare class User implements SessionUser { fullName: string; _id: string; organizationId: string; token: string; autoLogout: number; showLoginTime: boolean; language: string; reset: () => void; retrieveLocal(): void; storeLocal(): void; removeLocal(): void; constructor(); } /** @brief User service maintains information if a user is logged in and if so about the users data. The user data is stored at local storage such that a user can log in and out from any window of the browser process. The user service updates the bearer token in access if required. An initial bearer token is received as return to a authenctacation by user/password call. */ export declare class SessionService { private http; private _config; private _user; loggedIn$: Observable; private _loginObserver; autoLogout: number; constructor(http: HttpClient, _config: ConfigService); logout(): void; login(login: string, password: string): any; private extractData(content); private handleLoginError(error); isLoggedIn(): boolean; user(): User; }