import { KeycloakInstance } from 'keycloak-js'; import { AuthenticationOptions } from './connect'; import { PopupWindow } from '../popup/PopupWindow'; export declare class Security { static onTokenUpdate: (token: string) => void; static getConfig(clientId?: string): any; static login(clientId: string, options?: AuthenticationOptions): Promise; private static loginRedirect; private static loginPopup; static checkAuthenticated(clientId: string): Promise; static logout(auth: Keycloak.KeycloakInstance): Promise; private static keycloak; private static updateTokenInterval; private static authenticatedListener; private static popupWindow; private static logoutListener; private static isLoginPopupClosedInterval?; private static readonly AUTH_IFRAME_ID; private static readonly LOGOUT_IFRAME_ID; private static readonly checkAuthenticatedURI; private static readonly authenticateURI; private static readonly logoutURI; private static initialiseAuthenticatedListener; private static createLogoutListener; private static initialiseLoginPopup; private static initialiseIsLoginPopupClosedInterval; private static clearIsLoginPopupClosedInterval; private static initialiseCheckAuthenticatedIFrame; private static initialiseLogoutIFrame; private static initialiseIFrame; private static setUpdateTokenInterval; private static keycloakLogin; private static initKeycloak; private static removeLoginState; private static cleanUp; } export interface LoginResult { keycloak?: KeycloakInstance; authenticated: boolean; popupWindow?: PopupWindow; }