//#region src/memo.d.ts
interface MemoizeOptions<Args extends readonly unknown[]> {
  /** Max distinct keys retained; past it the least-recently-used entry is evicted. Default 256. Must be an integer ≥ 1. */
  max?: number;
  /** Derives the cache key from the call args. Default: stable, key-order-INSENSITIVE serialization. */
  key?: (...args: Args) => string;
}
declare function memoize<Args extends readonly unknown[], Result>(fn: (...args: Args) => Result, options?: MemoizeOptions<Args>): (...args: Args) => Result;
//#endregion
export { MemoizeOptions, memoize };