/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ declare const StorageTypes: readonly ["localStorage", "sessionStorage", "none"]; export type StorageType = (typeof StorageTypes)[number]; export type StorageSlot = { get: () => string | null; set: (value: string) => void; del: () => void; listen: (onChange: (event: StorageEvent) => void) => () => void; }; /** * Creates an interface to work on a particular key in the storage model. * Note that this function only initializes the interface, but doesn't allocate * anything by itself (i.e. no side-effects). * * The API is fail-safe, since usage of browser storage should be considered * unreliable. Local storage might simply be unavailable (iframe + browser * security) or operations might fail individually. Please assume that using * this API can be a no-op. See also https://github.com/facebook/docusaurus/issues/6036 */ export declare function createStorageSlot(key: string, options?: { persistence?: StorageType; }): StorageSlot; export declare function useStorageSlot(key: string | null, options?: { persistence?: StorageType; }): [string | null, StorageSlot]; /** * Returns a list of all the keys currently stored in browser storage, * or an empty list if browser storage can't be accessed. */ export declare function listStorageKeys(storageType?: StorageType): string[]; export {}; //# sourceMappingURL=storageUtils.d.ts.map