import type { AnyFunction } from '../types';
import type { MemoOptions } from './memo.decorator';
import type { MemoCache } from './memo.util';
export interface MemoizedFunction {
    cache: MemoCache;
}
/**
 * Only supports Sync functions.
 * To support Async functions - use _memoFnAsync.
 * Technically, you can use it with Async functions, but it'll return the Promise without awaiting it.
 *
 * @experimental
 */
export declare function _memoFn<FN extends AnyFunction>(fn: FN, opt?: MemoOptions<FN>): FN & MemoizedFunction;
