///
import { Observable } from "rxjs";
import 'expose-loader?AuthenticationContext!adal-angular/lib/adal.js';
import { OAuth } from "./oauth.model";
export declare class AdalService {
private context;
private contextFn;
private oauth;
private user$;
/**
* Service constructor
*/
constructor();
/**
* Function to init adal context
*
* @param configOptions
*/
init(config: adal.Config): void;
/**
* Returns adal context config
*
* @returns {adal.Config}
*/
readonly config: adal.Config;
/**
* Returns user info
*
* @returns {OAuth}
*/
readonly userInfo: OAuth;
/**
* Returns user info subject as observable
*
* @returns {Observable}
*/
readonly userInfo$: Observable;
/**
* Function to login
*/
login(): void;
/**
* Returns login in progress flag
*
* @returns {boolean}
*/
loginInProgress(): boolean;
/**
* Function to logout
*/
logout(): void;
/**
* Function to handle window callback
*/
handleWindowCallback(): void;
/**
* Returns cached token for current resource
*
* @param resource
*
* @returns {string}
*/
getCachedToken(resource: string): string;
/**
* Function to acquire token for given resource
*
* @param resource
*
* @returns {any}
*/
acquireToken(resource: string): Observable;
/**
* Function to get user profile
*
* @returns {any}
*/
getUser(): Observable;
/**
* Function to clear cache
*/
clearCache(): void;
/**
* Function to clear cache for given resource
*/
clearCacheForResource(resource: string): void;
/**
* Returns resource for current endpoint
*
* @param url
*
* @returns {string}
*/
getResourceForEndpoint(url: string): string;
/**
* Function to know if we are in callback
*
* @param hash
*
* @returns {boolean}
*/
isCallback(hash?: string): boolean;
/**
*
* @param resource
* @private
*/
private _updateDataFromCache(resource);
}