import { MemoizedProjection } from '@ngrx/store'; import { EqualsFn } from './is-equal'; export type TypedMemoizedProjection = MemoizedProjection & { memoized: (...args: TArgs) => TResult; setResult: (result?: TResult) => void; }; /** * Uses the same logic as the `defaultMemoize` function from `@ngrx/store`. * The difference is that the `isArgumentsEqual` function is now called only once with the previous and current arguments instead of once for each argument. * This enables us to write better TypeScript types for the `isArgumentsEqual` function. * * @see https://ngrx.io/api/store/defaultMemoize */ export declare function typeFriendlyDefaultMemoize(projectionFn: (...args: TArgs) => TResult, isArgumentsEqual?: EqualsFn, isResultEqual?: EqualsFn): TypedMemoizedProjection;