import { TypeCache } from '../TypeCache'; declare type Func = (...args: A) => Promise; export declare function asyncMemoize(cache: TypeCache, func: Func, opts: TransformOptions): Func; export declare function asyncMemoize(cache: TypeCache, func: Func, opts?: Partial>): Func; interface BaseOptions { namespace: string; hash(...args: A): string; shouldStore(res: T): boolean; } interface TransformOptions extends Partial> { transform(res: B): T; } export declare type MemoizeOptions = Partial & TransformOptions>; export {};