import { TrackOpTypes, TriggerOpTypes } from './operations'
import { isObject, hasChanged } from '@vue/shared'
import { reactive, isProxy, toRaw } from './reactive'
-import { ComputedRef } from './computed'
import { CollectionTypes } from './collectionHandlers'
declare const RefSymbol: unique symbol
*/
export interface RefUnwrapBailTypes {}
-export type UnwrapRef<T> = T extends ComputedRef<infer V>
+export type UnwrapRef<T> = T extends Ref<infer V>
? UnwrapRefSimple<V>
- : T extends Ref<infer V> ? UnwrapRefSimple<V> : UnwrapRefSimple<T>
+ : UnwrapRefSimple<T>
type UnwrapRefSimple<T> = T extends
| Function