import type { IKeyedStorage, IKeyedStorageSync } from '../storage/types.js'; import type { ILazyPromiseExtension } from './types.js'; export interface ICachedLazyPromiseExtension | IKeyedStorageSync> { readonly cache: TStorage; /** Resets the current value to undefined and cleans up the cache. */ resetWithCache(): void; /** Sets the current value and updates the cache. */ setCachedInstance(value: T | undefined): T | undefined; } export declare function createCacheExtension | IKeyedStorageSync>(storage: TStorage): ILazyPromiseExtension>;