import { AccountEntity, IdTokenEntity, AccessTokenEntity, RefreshTokenEntity, AppMetadataEntity, ServerTelemetryEntity, ThrottlingEntity, CacheManager, Logger, ValidCacheType, ICrypto, AuthorityMetadataEntity } from "@azure/msal-common"; import { InMemoryCache, JsonCache, CacheKVStore } from "./serializer/SerializerTypes"; /** * This class implements Storage for node, reading cache from user specified storage location or an extension library * @public */ export declare class NodeStorage extends CacheManager { private logger; private cache; private changeEmitters; constructor(logger: Logger, clientId: string, cryptoImpl: ICrypto); /** * Queue up callbacks * @param func - a callback function for cache change indication */ registerChangeEmitter(func: () => void): void; /** * Invoke the callback when cache changes */ emitChange(): void; /** * Converts cacheKVStore to InMemoryCache * @param cache - key value store */ cacheToInMemoryCache(cache: CacheKVStore): InMemoryCache; /** * converts inMemoryCache to CacheKVStore * @param inMemoryCache - kvstore map for inmemory */ inMemoryCacheToCache(inMemoryCache: InMemoryCache): CacheKVStore; /** * gets the current in memory cache for the client */ getInMemoryCache(): InMemoryCache; /** * sets the current in memory cache for the client * @param inMemoryCache - key value map in memory */ setInMemoryCache(inMemoryCache: InMemoryCache): void; /** * get the current cache key-value store */ getCache(): CacheKVStore; /** * sets the current cache (key value store) * @param cacheMap - key value map */ setCache(cache: CacheKVStore): void; /** * Gets cache item with given key. * @param key - lookup key for the cache entry */ getItem(key: string): ValidCacheType; /** * Gets cache item with given key-value * @param key - lookup key for the cache entry * @param value - value of the cache entry */ setItem(key: string, value: ValidCacheType): void; /** * fetch the account entity * @param accountKey - lookup key to fetch cache type AccountEntity */ getAccount(accountKey: string): AccountEntity | null; /** * set account entity * @param account - cache value to be set of type AccountEntity */ setAccount(account: AccountEntity): void; /** * fetch the idToken credential * @param idTokenKey - lookup key to fetch cache type IdTokenEntity */ getIdTokenCredential(idTokenKey: string): IdTokenEntity | null; /** * set idToken credential * @param idToken - cache value to be set of type IdTokenEntity */ setIdTokenCredential(idToken: IdTokenEntity): void; /** * fetch the accessToken credential * @param accessTokenKey - lookup key to fetch cache type AccessTokenEntity */ getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null; /** * set accessToken credential * @param accessToken - cache value to be set of type AccessTokenEntity */ setAccessTokenCredential(accessToken: AccessTokenEntity): void; /** * fetch the refreshToken credential * @param refreshTokenKey - lookup key to fetch cache type RefreshTokenEntity */ getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null; /** * set refreshToken credential * @param refreshToken - cache value to be set of type RefreshTokenEntity */ setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void; /** * fetch appMetadata entity from the platform cache * @param appMetadataKey - lookup key to fetch cache type AppMetadataEntity */ getAppMetadata(appMetadataKey: string): AppMetadataEntity | null; /** * set appMetadata entity to the platform cache * @param appMetadata - cache value to be set of type AppMetadataEntity */ setAppMetadata(appMetadata: AppMetadataEntity): void; /** * fetch server telemetry entity from the platform cache * @param serverTelemetrykey - lookup key to fetch cache type ServerTelemetryEntity */ getServerTelemetry(serverTelemetrykey: string): ServerTelemetryEntity | null; /** * set server telemetry entity to the platform cache * @param serverTelemetryKey - lookup key to fetch cache type ServerTelemetryEntity * @param serverTelemetry - cache value to be set of type ServerTelemetryEntity */ setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void; /** * fetch authority metadata entity from the platform cache * @param key - lookup key to fetch cache type AuthorityMetadataEntity */ getAuthorityMetadata(key: string): AuthorityMetadataEntity | null; /** * Get all authority metadata keys */ getAuthorityMetadataKeys(): Array; /** * set authority metadata entity to the platform cache * @param key - lookup key to fetch cache type AuthorityMetadataEntity * @param metadata - cache value to be set of type AuthorityMetadataEntity */ setAuthorityMetadata(key: string, metadata: AuthorityMetadataEntity): void; /** * fetch throttling entity from the platform cache * @param throttlingCacheKey - lookup key to fetch cache type ThrottlingEntity */ getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null; /** * set throttling entity to the platform cache * @param throttlingCacheKey - lookup key to fetch cache type ThrottlingEntity * @param throttlingCache - cache value to be set of type ThrottlingEntity */ setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void; /** * Removes the cache item from memory with the given key. * @param key - lookup key to remove a cache entity * @param inMemory - key value map of the cache */ removeItem(key: string): boolean; /** * Checks whether key is in cache. * @param key - look up key for a cache entity */ containsKey(key: string): boolean; /** * Gets all keys in window. */ getKeys(): string[]; /** * Clears all cache entries created by MSAL (except tokens). */ clear(): void; /** * Initialize in memory cache from an exisiting cache vault * @param cache - blob formatted cache (JSON) */ static generateInMemoryCache(cache: string): InMemoryCache; /** * retrieves the final JSON * @param inMemoryCache - itemised cache read from the JSON */ static generateJsonCache(inMemoryCache: InMemoryCache): JsonCache; } //# sourceMappingURL=NodeStorage.d.ts.map