export type MemoizedAsync = T & { readonly promise: ReturnType | undefined; }; export interface MemoizeAsyncOptions { /** Allow call once only. Always returns a memoized result. */ readonly once?: boolean | undefined; } export declare function memoizeAsync(func: T, options?: MemoizeAsyncOptions, ...rest: Parameters['then']>): MemoizedAsync;