/** * @license MIT * @module @whoj/utils-vue@2.4.0 * @copyright (c) 2026 Jonson B. */ import { Ref, ComputedRef } from 'vue'; /** * Maybe it's a ref, or a plain value * * ```ts * type Refable = T | Ref * ``` */ type MaybeRef = T | Ref; type Refable = MaybeRef; /** * Maybe it's a computed ref, or a getter function * * ```ts * type ReadonlyRefable = (() => T) | ComputedRef * ``` */ type ReadonlyRefable = (() => T) | ComputedRef; /** * Maybe it's a ref, or a plain value, or a getter function * * ```ts * type ComputedRefable = (() => T) | T | Ref | ComputedRef * ``` */ type ComputedRefable = Refable | ReadonlyRefable; /** * Get value/ref/getter as `ref` or `computed`. * * @__NO_SIDE_EFFECTS__ */ declare function refOf(r: T): Ref; declare function refOf(r: Refable): Ref; declare function refOf(r: ComputedRefable): ComputedRef; export { refOf }; export type { ComputedRefable, MaybeRef, ReadonlyRefable, Refable };