import { Ref, UnwrapRef, ComputedRef, WritableComputedOptions, DebuggerOptions, WritableComputedRef, ShallowUnwrapRef } from '@vue/runtime-dom' declare const RefMarker: unique symbol type RefValue = T & { [RefMarker]?: any } declare const ComputedRefMarker: unique symbol type ComputedRefValue = T & { [ComputedRefMarker]?: any } declare const WritableComputedRefMarker: unique symbol type WritableComputedRefValue = T & { [WritableComputedRefMarker]?: any } /** * Vue ref transform macro for binding refs as reactive variables. */ declare function _$(arg: ComputedRef): ComputedRefValue declare function _$(arg: WritableComputedRef): WritableComputedRefValue declare function _$(arg: Ref): RefValue declare function _$(arg?: T): ShallowUnwrapRef /** * Vue ref transform macro for accessing underlying refs of reactive varaibles. */ declare function _$$(value: T): ComputedRef declare function _$$( value: WritableComputedRefValue ): WritableComputedRef declare function _$$(value: RefValue): Ref declare function _$$(arg: T): ToRawRefs type ToRawRefs = { [K in keyof T]: T[K] extends ComputedRefValue ? ComputedRefValue : T[K] extends WritableComputedRefValue ? WritableComputedRef : T[K] extends RefValue ? Ref : T[K] extends object ? T[K] extends | Function | Map | Set | WeakMap | WeakSet ? T[K] : ToRawRefs : T[K] } declare function _$ref(arg?: T | Ref): RefValue> declare function _$shallowRef(arg?: T): RefValue declare function _$computed( getter: () => T, debuggerOptions?: DebuggerOptions ): ComputedRefValue declare function _$computed( options: WritableComputedOptions, debuggerOptions?: DebuggerOptions ): WritableComputedRefValue declare global { const $: typeof _$ const $$: typeof _$$ const $ref: typeof _$ref const $shallowRef: typeof _$shallowRef const $computed: typeof _$computed }