import {Ref, toRaw, unref, watch, WatchSource} from "vue"; import {useReactive, useRef, useState} from "./index"; declare type MultiWatchSources = (WatchSource | object)[]; export default function useMemo(factory: () => T, deps: MultiWatchSources | WatchSource | null | undefined = undefined): Ref { const [state, setState] = useState(() => factory()); if (deps) { watch(deps, function () { setState(() => factory()); }); } return state; }