/** * Remembers and retrieves a value by a given name, or the value generated by `getValue` if the name doesn't exist. * The return type is inferred from the return type of `getValue`. * * @template Value * @param {string} name - The name under which to remember the value. * @param {() => Value} getValue - The function that generates the value to remember. * @returns {Value} - The remembered value. */ export function remember(name: string, getValue: () => Value): Value; /** * Forgets a remembered value by a given name. Does not throw if the name doesn't exist. * * @param {string} name - The name under which the value was remembered. * @return {boolean} - A remembered value existed and has been forgotten. */ export function forget(name: string): boolean;