import { type TimeDescriptor } from '@sindresorhus/to-milliseconds'; export declare function timeInTheFuture(time: TimeDescriptor): number; type Primitive = boolean | number | string; type Value = Primitive | Primitive[] | Record; type CachedValue = { data: Value; maxAge: number; }; declare function has(key: string): Promise; export declare function _get(key: string, remove: boolean): Promise | undefined>; declare function get(key: string): Promise; declare function set(key: string, value: ScopedValue, maxAge?: TimeDescriptor): Promise; declare function delete_(userKey: string): Promise; declare function clear(): Promise; export type CacheKey = (arguments_: Arguments) => string; export type MemoizedFunctionOptions = { maxAge?: TimeDescriptor; staleWhileRevalidate?: TimeDescriptor; cacheKey?: CacheKey; shouldRevalidate?: (cachedValue: ScopedValue) => boolean; }; /** @deprecated Use CachedValue and CachedFunction instead */ declare const cache: { has: typeof has; get: typeof get; set: typeof set; clear: typeof clear; delete: typeof delete_; }; export default cache;