import { Http } from '@angular/http'; import { Observable, BehaviorSubject } from 'rxjs/Rx'; import 'rxjs/operator/map'; import { LoginIframe } from '../utils/keycloak.utils.loginIframe'; import { IonicStorage } from './../storage/keycloak.storage.ionic'; import { KeyClockStorage } from './../storage/keycloak.storage'; export declare class Keycloak { private ionicStorageService; private platformId; static initializedBehaviourSubject: BehaviorSubject; static initializingBehaviourSubject: BehaviorSubject; static authenticatedBehaviourSubject: BehaviorSubject; static authSuccessBehaviourSubject: BehaviorSubject; static authErrorBehaviourSubject: BehaviorSubject; static tokenExpiredBehaviourSubject: BehaviorSubject; static refreshTokenExpiredBehaviourSubject: BehaviorSubject; static initializedObs: Observable; static initializingObs: Observable; static authenticatedObs: Observable; static authSuccessObs: Observable; static authErrorObs: Observable; static tokenExpiredObs: Observable; static refreshTokenExpiredObs: Observable; private lock; config: any; adapter: any; resourceAccess: any; callback_id: number; loginIframe: LoginIframe; callbackStorage: KeyClockStorage; timeSkew: number; loginRequired: boolean; tokenParsed: any; idTokenParsed: any; refreshTokenParsed: any; accessToken: string; idToken: string; refreshToken: string; tokenTimeoutHandle: any; refreshTokenTimeoutHandle: any; subject: string; sessionId: string; responseMode: string; responseType: string; flow: string; clientId: string; clientSecret: string; authServerUrl: string; realm: string; realmAccess: any; http: Http; login(options: any): any; logout(options: any): any; updateToken(minValidity: number): Observable; register(options: any): any; accountManagement(options: any): any; loadUserProfile(): Observable; loadUserInfo(): Observable; hasRealmRole(role: string): boolean; hasResourceRole(role: string, resource: string): boolean; isTokenExpired(minValidity: number): boolean; isRefreshTokenExpired(minValidity: number): boolean; clearToken(initOptions: any): void; createLoginUrl(options: any): string; createLogoutUrl(options: any): string; createRegisterUrl(options: any): string; createAccountUrl(options: any): string; getRealmUrl(): string; checkLoginIframe(): Observable; processCallback(oauth: any): void; setToken(accessToken: string, refreshToken: string, idToken: string, useTokenTime: boolean): void; pushTokenExpired(): void; pushRefreshTokenExpired(): void; createCallbackId(): string; parseCallback(url: string): Promise; constructor(ionicStorageService: IonicStorage, platformId: any); init(initOptions: any): void; private loadConfig(configuration); private processInit(initOptions, kc); private setupCheckLoginIframe(kc); private loadAdapter(type); }