/* Provides a namespace for when the library is loaded outside a module loader environment */ export as namespace Oidc; export interface Logger { error(message?: any, ...optionalParams: any[]): void; info(message?: any, ...optionalParams: any[]): void; debug(message?: any, ...optionalParams: any[]): void; warn(message?: any, ...optionalParams: any[]): void; } export interface AccessTokenEvents { load(container: User): void; unload(): void; addAccessTokenExpiring(callback: (...ev: any[]) => void): void; removeAccessTokenExpiring(callback: (...ev: any[]) => void): void; addAccessTokenExpired(callback: (...ev: any[]) => void): void; removeAccessTokenExpired(callback: (...ev: any[]) => void): void; } export class InMemoryWebStorage { getItem(key: string): any; setItem(key: string, value: any): any; removeItem(key: string): any; key(index: number): any; length?: number; } export class Log { static readonly NONE: number; static readonly ERROR: number; static readonly WARN: number; static readonly INFO: number; static readonly DEBUG: number; static reset(): void; static level: number; static logger: Logger; static debug(message?: any, ...optionalParams: any[]): void; static info(message?: any, ...optionalParams: any[]): void; static warn(message?: any, ...optionalParams: any[]): void; static error(message?: any, ...optionalParams: any[]): void; } export interface MetadataService { new (settings: OidcClientSettings): MetadataService; metadataUrl?: string; getMetadata(): Promise; getIssuer(): Promise; getAuthorizationEndpoint(): Promise; getUserInfoEndpoint(): Promise; getTokenEndpoint(): Promise; getCheckSessionIframe(): Promise; getEndSessionEndpoint(): Promise; getRevocationEndpoint(): Promise; getSigningKeys(): Promise; } export interface MetadataServiceCtor { (settings: OidcClientSettings, jsonServiceCtor?: any): MetadataService; } export interface ResponseValidator { validateSigninResponse(state: any, response: any): Promise; validateSignoutResponse(state: any, response: any): Promise; } export interface ResponseValidatorCtor { ( settings: OidcClientSettings, metadataServiceCtor?: MetadataServiceCtor, userInfoServiceCtor?: any ): ResponseValidator; } export interface SigninRequest { url: string; state: any; } export interface SignoutRequest { url: string; state?: any; } export class OidcClient { constructor(settings: OidcClientSettings); readonly settings: OidcClientSettings; createSigninRequest(args?: any): Promise; processSigninResponse(): Promise; createSignoutRequest(args?: any): Promise; processSignoutResponse(): Promise; clearStaleState(stateStore: StateStore): Promise; } export interface OidcClientSettings { authority?: string; readonly metadataUrl?: string; metadata?: any; signingKeys?: any[]; client_id?: string; readonly response_type?: string; readonly scope?: string; readonly redirect_uri?: string; readonly post_logout_redirect_uri?: string; readonly popup_post_logout_redirect_uri?: string; readonly prompt?: string; readonly display?: string; readonly max_age?: number; readonly ui_locales?: string; readonly acr_values?: string; readonly filterProtocolClaims?: boolean; readonly loadUserInfo?: boolean; readonly staleStateAge?: number; readonly clockSkew?: number; readonly stateStore?: StateStore; ResponseValidatorCtor?: ResponseValidatorCtor; MetadataServiceCtor?: MetadataServiceCtor; extraQueryParams?: {}; } export class UserManager extends OidcClient { constructor(settings: UserManagerSettings); readonly settings: UserManagerSettings; clearStaleState(): Promise; getUser(): Promise; storeUser(user: User): Promise; removeUser(): Promise; signinPopup(args?: any): Promise; signinPopupCallback(url?: string): Promise; signinSilent(args?: any): Promise; signinSilentCallback(url?: string): Promise; signinRedirect(args?: any): Promise; signinRedirectCallback(url?: string): Promise; signoutRedirect(args?: any): Promise; signoutRedirectCallback(url?: string): Promise; signoutPopup(args?: any): Promise; signoutPopupCallback(url?: string, keepOpen?: boolean): Promise; signoutPopupCallback(keepOpen?: boolean): Promise; querySessionStatus(args?: any): Promise; revokeAccessToken(): Promise; startSilentRenew(): void; stopSilentRenew(): void; events: UserManagerEvents; } export interface UserManagerEvents extends AccessTokenEvents { load(user: User): any; unload(): any; addUserLoaded(callback: (...ev: any[]) => void): void; removeUserLoaded(callback: (...ev: any[]) => void): void; addUserUnloaded(callback: (...ev: any[]) => void): void; removeUserUnloaded(callback: (...ev: any[]) => void): void; addSilentRenewError(callback: (...ev: any[]) => void): void; removeSilentRenewError(callback: (...ev: any[]) => void): void; addUserSignedOut(callback: (...ev: any[]) => void): void; removeUserSignedOut(callback: (...ev: any[]) => void): void; addUserSessionChanged(callback: (...ev: any[]) => void): void; removeUserSessionChanged(callback: (...ev: any[]) => void): void; } export interface UserManagerSettings extends OidcClientSettings { readonly popup_redirect_uri?: string; readonly popupWindowFeatures?: string; readonly popupWindowTarget?: any; readonly silent_redirect_uri?: any; readonly silentRequestTimeout?: any; readonly automaticSilentRenew?: boolean; readonly includeIdTokenInSilentRenew?: boolean; readonly monitorSession?: boolean; readonly checkSessionInterval?: number; readonly revokeAccessTokenOnSignout?: any; readonly accessTokenExpiringNotificationTime?: number; readonly redirectNavigator?: any; readonly popupNavigator?: any; readonly iframeNavigator?: any; readonly userStore?: any; } export interface WebStorageStateStoreSettings { prefix?: string; store?: any; } export interface StateStore { set(key: string, value: any): Promise; get(key: string): Promise; remove(key: string): Promise; getAllKeys(): Promise; } export class WebStorageStateStore implements StateStore { constructor(settings: WebStorageStateStoreSettings); set(key: string, value: any): Promise; get(key: string): Promise; remove(key: string): Promise; getAllKeys(): Promise; } export interface SigninResponse { new (url: string): SigninResponse; access_token: string; error: string; error_description: string; error_uri: string; expires_at: number; id_token: string; profile: any; scope: string; session_state: any; state: any; token_type: string; readonly expired: boolean | undefined; readonly expires_in: number | undefined; readonly isOpenIdConnect: boolean; readonly scopes: string[]; } export class User { constructor(response: SigninResponse); id_token: string; session_state: any; access_token: string; token_type: string; scope: string; profile: any; expires_at: number; state: any; toStorageString(): string; readonly expires_in: number | undefined; readonly expired: boolean | undefined; readonly scopes: string[]; } export class CordovaPopupWindow { constructor(params: any); navigate(params: any): Promise; promise: Promise; } export class CordovaPopupNavigator { prepare(params: any): Promise; } export class CordovaIFrameNavigator { prepare(params: any): Promise; }