UNPKG

matrix-react-sdk

Version:
45 lines (44 loc) 2.09 kB
import { ICryptoCallbacks } from "matrix-js-sdk/src/matrix"; /** * This can be used by other components to check if secret storage access is in * progress, so that we can e.g. avoid intermittently showing toasts during * secret storage setup. * * @returns {bool} */ export declare function isSecretStorageBeingAccessed(): boolean; export declare class AccessCancelledError extends Error { constructor(); } export declare const crossSigningCallbacks: ICryptoCallbacks; /** * Carry out an operation that may require multiple accesses to secret storage, caching the key. * * Use this helper to wrap an operation that may require multiple accesses to secret storage; the user will be prompted * to enter the 4S key or passphrase on the first access, and the key will be cached for the rest of the operation. * * @param func - The operation to be wrapped. */ export declare function withSecretStorageKeyCache<T>(func: () => Promise<T>): Promise<T>; /** * This helper should be used whenever you need to access secret storage. It * ensures that secret storage (and also cross-signing since they each depend on * each other in a cycle of sorts) have been bootstrapped before running the * provided function. * * Bootstrapping secret storage may take one of these paths: * 1. Create secret storage from a passphrase and store cross-signing keys * in secret storage. * 2. Access existing secret storage by requesting passphrase and accessing * cross-signing keys as needed. * 3. All keys are loaded and there's nothing to do. * * Additionally, the secret storage keys are cached during the scope of this function * to ensure the user is prompted only once for their secret storage * passphrase. The cache is then cleared once the provided function completes. * * @param {Function} [func] An operation to perform once secret storage has been * bootstrapped. Optional. * @param {bool} [forceReset] Reset secret storage even if it's already set up */ export declare function accessSecretStorage(func?: () => Promise<void>, forceReset?: boolean): Promise<void>;