import { Cache as Cache_3 } from '@algolia/cache-common'; declare type Cache_2 = { /** * Gets the value of the given `key`. */ readonly get: (key: object | string, defaultValue: () => Readonly>, events?: CacheEvents) => Readonly>; /** * Sets the given value with the given `key`. */ readonly set: (key: object | string, value: TValue) => Readonly>; /** * Deletes the given `key`. */ readonly delete: (key: object | string) => Readonly>; /** * Clears the cache. */ readonly clear: () => Readonly>; }; export { Cache_2 as Cache } export declare type CacheEvents = { /** * The callback when the given `key` is missing from the cache. */ readonly miss: (value: TValue) => Readonly>; }; export declare function createFallbackableCache(options: FallbackableCacheOptions): Cache_2; export declare function createNullCache(): Cache_2; export declare type FallbackableCacheOptions = { /** * List of caches order by priority. */ readonly caches: readonly Cache_3[]; }; export { }