import type * as msalNs from '@azure/msal-browser-1p'; /** * This class manages Msal Browser client instances and provides the caller with a client to use. * * MSAL.js team strongly encourages us to have a 1:1 relationship between client IDs and Msal Browser clients * for performance and reliability reasons. * This class will ensure that there is only 1 Msal Browser client per client ID. * * MsalBrowserClientManager also ensures that all Msal Browser clients have invoked handleRedirectPromise() * and waited for the result. */ export declare class MsalBrowserClientManager { private static _msalBrowserClients; private static readonly _LOCAL_STORAGE_TEST_STRING; private static readonly _NAA_CLIENT_SUFFIX; private static readonly _PAIRWISEBROKER_CLIENT_SUFFIX; /** * This method registers a new Msal Browser client. Calling this method tells MsalBrowserClientManager * that you will soon request a client with the same authority, client ID, and redirect URI. * * Registering before requesting a client is optional, you may instead directly call getMsalBrowserClient(). * By registering early (e.g., during the constructor of MsalBrowserTokenProvider), handleRedirectPromise() * will have time to resolve before the client is needed for a request * * @param authority - URL of AAD auth server. * @param clientId - AAD issued client ID that tokens are being requested for. * @param redirectUri - URL the user will be redirected to after calling any redirect methods. */ static registerMsalBrowserClient(authority: string, clientId: string, redirectUri: string, isNaaSupported: boolean, isPairwiseBrokerEnabled: boolean): void; /** * This method returns an initialized Msal Browser client that has also invoked and fulfilled the * handleRedirectPromise() call. If the requested Msal Browser client does not exist, this method * will create and return it. * * @param authority - URL of AAD auth server. * @param clientId - AAD issued client ID that tokens are being requested for. * @param redirectUri - URL the user will be redirected to after calling any redirect methods. * @returns A promise containing an initialized Msal Browser client. */ static getMsalBrowserClient(authority: string, clientId: string, redirectUri: string, isNaaSupported: boolean, isPairwiseBrokerEnabled: boolean): Promise; private static _isClientIndexRegistered; private static _getClientIdIndex; /** * Creates and returns a PublicClientApplication with a custom configuration. * PublicClientApplication is the object used for interacting with the MSAL library, * AKA MSAL client. * * Options: * - authority: URL of AAD auth server. * - clientId: AAD issued client ID that tokens are being requested for. * - navigateToLoginRequestUrl: Whether or not to navigate to the original request URL after * the auth server navigates to the redirect URL. * - redirectUri: URL the user will be redirected to after calling any redirect methods. * - loadFrameTimeout: Timeout for waiting for a response hash in an iFrame. * - navigateFrameWait: Maximum time MSAL will wait for a frame to load. * - loggerOptions: Configuration for MSAL logging. See below for details. * * Logging: * - MSAL can enable logging to the console for debugging purposes. * - To enable logging, use the query string parameter 'msalLogging=true'. * - To disable logging, use the query string parameter 'msalLogging=false'. * - Logs are printed in the format "[sp-http][msal.js]: LOG_MESSAGE" * * @returns An initialized PublicClientApplication. */ private static _createMsalBrowserClient; private static _createMsalBrowserNextClient; private static _createMsalBrowserPairwiseBrokerClient; private static _getMsalBrowserConfiguration; /** * Applies Bleu and Delos sovereign cloud workaround to MSAL configuration. * Sets knownAuthorities and cloudDiscoveryMetadata for sovereign clouds. * * @param authority - URL of AAD auth server. * @param configuration - MSAL configuration object to modify. */ private static _applyBleuDelosWorkaround; private static _isLocalStorageAvailable; private static _logIfBothNaaAndPairwiseBrokerEnabled; } //# sourceMappingURL=MsalBrowserClientManager.d.ts.map