interface Cache { set(key: K, value: V, maxAge?: number): boolean; get(key: K): V | undefined; del(key: K): void; } export declare function withPromiseCache(cache: Cache>, fn: (value: K) => Promise): (value: K) => Promise; export declare function withPromiseCache(cache: Cache>, fn: (...values: T) => Promise, getKey: (...values: T) => K): (...values: T) => Promise; export {};