import Authorizer from '../../business/security/Authorizer'; import { Observable } from 'rxjs'; import Session from '../../business/models/Session'; import SessionRequester from './session/requester/SessionRequester'; import SessionRegister from './session/register/SessionRegister'; import TokenDecoder from './TokenDecoder'; export default class AuthorizerImpl implements Authorizer { private sessionRequester; private sessionRegister; private tokenDecoder; constructor(sessionRequester: SessionRequester, sessionRegister: SessionRegister, tokenDecoder: TokenDecoder); login(username: string, password: string): Observable; refresh(refreshToken: string): Observable; register(username: string, email: string, password: string): Observable; logout(token: string): Observable; isLogged(session: Session): Observable; private populateUserIdInSessionEntity; }