import { Cache as Cache_2 } from '@algolia/cache-common'; export declare type Cache = { /** * 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 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; export declare function createNullCache(): Cache; export declare type FallbackableCacheOptions = { /** * List of caches order by priority. */ readonly caches: readonly Cache_2[]; }; export { }