import { Platform } from '@ionic/angular'; import { NgZone } from '@angular/core'; import { IonicAuth } from 'ionic-appauth'; import { CordovaRequestorService } from './cordova-requestor.service'; import { BrowserService } from './browser.service'; import { SecureStorageService } from './secure-storage.service'; import { RequestorService } from './requestor.service'; import { BehaviorSubject, Observable } from 'rxjs'; export interface UserInfo { upn?: string; uniqueId?: string; email?: string; name?: string; } export interface Claims { "aud": string; "iss": string; "exp": number; "appid": string; "family_name": string; "given_name": string; "name": string; "unique_name": string; "upn": string; } export declare class AuthService extends IonicAuth { private platform; private ngZone; tokenResponse: any; authenticated: boolean; authSubject: BehaviorSubject; authObs: Observable; private loginSubject; loginObservable: Observable; _userInfo: any; constructor(requestor: RequestorService, cordovaRequestor: CordovaRequestorService, secureStorage: SecureStorageService, browser: BrowserService, platform: Platform, ngZone: NgZone); startUpAsync(): Promise; addConfig(options: any): void; private handleCallback; logout(): Promise; login(): Promise; silentLogin(): Promise; /** * Gets the claims included in the access toke * Particularly: upn (email) & name */ getUserClaims(): Promise; getToken(): Observable; private notifyLogin; }