import Callable from "./callable"; import ArgumentContainer from "./argument/argument"; import Callback from "./callback/callback"; import { CallbackParametersType } from "./return/callback-parameter"; import ReturnMemoize from "./return/memoize"; export declare type MemoizeParameterArgument = Callback & ArgumentContainer>; /** * wrap given {@param callback} to new function and cache its return * * this more performant than {@link ./memoize.ts} but does not offer * * @param argument * used if cached return is not exits * * @callback * callback to be wrapped */ /** * object destructure version * * @param callback * @param argument */ export default function MemoizeParameter({ callback, argument }: MemoizeParameterArgument): (() => ReturnType) & { container: ReturnMemoize>; };