import { Injector, EventEmitter } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { IAuthService } from '../util/util'; export interface SessionInfo { id: number; user: string; } export interface ILoginService { login(user: string, password: string): Observable; logout(): void; sessionExpired(): void; isLoggedIn(): boolean; } export declare class LoginService implements ILoginService { protected injector: Injector; static LOGIN_ROUTE: string; onLogin: EventEmitter; onLogout: EventEmitter; private _user; private _localStorageKey; private _config; private router; private ontService; private dialogService; constructor(injector: Injector); readonly user: string; readonly localStorageKey: string; configureOntimizeAuthService(config: Object): void; retrieveAuthService(): Promise; login(user: string, password: string): Observable; onLoginSuccess(sessionId: number): void; onLoginError(error: any): void; logout(): Observable; onLogoutSuccess(sessionId: number): void; onLogoutError(error: any): void; sessionExpired(): void; isLoggedIn(): boolean; storeSessionInfo(sessionInfo: SessionInfo): void; getSessionInfo(): SessionInfo; logoutAndRedirect(): void; logoutWithConfirmationAndRedirect(): void; }