import { Ref } from 'vue' import { AnyArray, AnyRecord } from '@/types/any' export type Getter = () => T export type MaybeRef = Ref | T export type MaybeGetter = Getter | T export type MaybeReactive = T | { [P in keyof T]: [T[P]] extends [object | undefined] ? [T[P]] extends [AnyRecord | undefined] ? MaybeRef> | MaybeReactive> : [T[P]] extends [AnyArray | undefined] ? MaybeRef> : MaybeRef : MaybeRef }