export declare const memoize: <P, T>(fn: (param: P) => T) => readonly [fn: (param: P) => T, map: Omit<Map<P, T>, "set">];
export declare const weakMemoize: <P extends object, T>(fn: (param: P) => T) => readonly [fn: (param: P) => T, map: Omit<WeakMap<P, T>, "set">];
