import IAccount from "../../account/entity/IAccount" ; import IAccessToken from "../entity/IAccessToken" ; export interface IAuthenticationChangeListener { onAuthenticationChange ( ) : void ; } export interface IAuthenticationHandler { showAuthenticationForm ( ) : void ; } interface IAuthenticationService { registerAuthenticationChangeListener ( listener ) : void ; deregisterAuthenticationChangeListener ( listener ) : void ; returns { null | IAccessToken } getCurrentAccessToken ( ) : IAccessToken | null ; returns { null | IAccount } getCurrentAccount ( ) : null | IAccount ; returns { boolean } isAuthenticated ( ) : boolean ; param { string } username param { string } password returns { Promise < boolean > } authenticate ( username , password ) : Promise < boolean > ; deauthenticate ( ) : Promise < void > ; } export default IAuthenticationService ;