import { INetworkModule } from "../network/INetworkModule"; import { ICrypto } from "../crypto/ICrypto"; import { ILoggerCallback, LogLevel } from "../logger/Logger"; import { Authority } from "../authority/Authority"; import { CacheManager } from "../cache/CacheManager"; import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager"; import { ICachePlugin } from "../cache/interface/ICachePlugin"; import { ISerializableTokenCache } from "../cache/interface/ISerializableTokenCache"; /** * Use the configuration object to configure MSAL Modules and initialize the base interfaces for MSAL. * * This object allows you to configure important elements of MSAL functionality: * - authOptions - Authentication for application * - cryptoInterface - Implementation of crypto functions * - libraryInfo - Library metadata * - loggerOptions - Logging for application * - networkInterface - Network implementation * - storageInterface - Storage implementation * - systemOptions - Additional library options * - clientCredentials - Credentials options for confidential clients */ export declare type ClientConfiguration = { authOptions: AuthOptions; systemOptions?: SystemOptions; loggerOptions?: LoggerOptions; storageInterface?: CacheManager; networkInterface?: INetworkModule; cryptoInterface?: ICrypto; clientCredentials?: ClientCredentials; libraryInfo?: LibraryInfo; serverTelemetryManager?: ServerTelemetryManager | null; persistencePlugin?: ICachePlugin | null; serializableCache?: ISerializableTokenCache | null; }; export declare type CommonClientConfiguration = { authOptions: Required; systemOptions: Required; loggerOptions: Required; storageInterface: CacheManager; networkInterface: INetworkModule; cryptoInterface: Required; libraryInfo: LibraryInfo; serverTelemetryManager: ServerTelemetryManager | null; clientCredentials: ClientCredentials; persistencePlugin: ICachePlugin | null; serializableCache: ISerializableTokenCache | null; }; /** * Use this to configure the auth options in the ClientConfiguration object * * - clientId - Client ID of your app registered with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview in Microsoft Identity Platform * - authority - You can configure a specific authority, defaults to " " or "https://login.microsoftonline.com/common" * - knownAuthorities - An array of URIs that are known to be valid. Used in B2C scenarios. * - cloudDiscoveryMetadata - A string containing the cloud discovery response. Used in AAD scenarios. * - clientCapabilities - Array of capabilities which will be added to the claims.access_token.xms_cc request property on every network request. * - protocolMode - Enum that represents the protocol that msal follows. Used for configuring proper endpoints. */ export declare type AuthOptions = { clientId: string; authority: Authority; clientCapabilities?: Array; }; /** * Use this to configure token renewal info in the Configuration object * * - tokenRenewalOffsetSeconds - Sets the window of offset needed to renew the token before expiry */ export declare type SystemOptions = { tokenRenewalOffsetSeconds?: number; }; /** * Use this to configure the logging that MSAL does, by configuring logger options in the Configuration object * * - loggerCallback - Callback for logger * - piiLoggingEnabled - Sets whether pii logging is enabled * - logLevel - Sets the level at which logging happens */ export declare type LoggerOptions = { loggerCallback?: ILoggerCallback; piiLoggingEnabled?: boolean; logLevel?: LogLevel; }; /** * Library-specific options */ export declare type LibraryInfo = { sku: string; version: string; cpu: string; os: string; }; /** * Credentials for confidential clients */ export declare type ClientCredentials = { clientSecret?: string; clientAssertion?: { assertion: string; assertionType: string; }; }; export declare const DEFAULT_SYSTEM_OPTIONS: Required; /** * Function that sets the default options when not explicitly configured from app developer * * @param Configuration * * @returns Configuration */ export declare function buildClientConfiguration({ authOptions: userAuthOptions, systemOptions: userSystemOptions, loggerOptions: userLoggerOption, storageInterface: storageImplementation, networkInterface: networkImplementation, cryptoInterface: cryptoImplementation, clientCredentials: clientCredentials, libraryInfo: libraryInfo, serverTelemetryManager: serverTelemetryManager, persistencePlugin: persistencePlugin, serializableCache: serializableCache }: ClientConfiguration): CommonClientConfiguration; //# sourceMappingURL=ClientConfiguration.d.ts.map