type Func = (...args: TArgs) => TResult; type NoReturn = Func, void>; declare const doNotMemoize: unique symbol; interface MemoizeOptions { hash?: Func; context?: any; } declare function memoize(originalFunction: Func, options: MemoizeOptions): (...args: TArgs) => TResult; export { type Func as F, type MemoizeOptions as M, type NoReturn as N, memoize as m };