import { Ref , UnwrapRef } from 'vue' ; export type Builtin = Function | Date | Error | RegExp | Uint8Array | string | number | boolean | bigint | symbol | undefined | null ; export type UnwrapNestedRefs < T > = T extends Ref ? T : UnwrapRef < T > ; export type MutationStrategy < S extends Record < PropertyKey , any > , M > = { param state param strategy ( state , strategy ) : ( mutation : M ) => S ; } ; param state param mutation param key export const canMergeDeep = < S extends Record < PropertyKey , any > , Mutation extends Record < keyof S , any > > ( state , mutation , key ) => ( mutation != null && typeof mutation [ key ] === 'object' && typeof state [ key ] === 'object' ) ;