import type { Ref } from '@vue/reactivity' ; export interface ServerRefOptions < T extends Record < string , unknown > > { state ? : T ; default debounce ? : number ; default defaultValue ? : ( key : string ) => unknown ; /**
     * Log info on the client
     */ debug ? : boolean ; default clientVue ? : string ; /**
     * Callback on server data change
     */ onChanged ? : < K extends keyof T > ( name : K , data : T [ K ] , patch : Partial < T [ K ] > | undefined , timestamp : number ) => void ; } export type ServerRefExtend < T > = { $syncDown : boolean ; $syncUp : boolean ; $onChange ( fn ) : void ; $onPatch ( fn ) : void ; $patch ( patch ) : Promise < boolean > ; } ; export type ServerRef < T > = Ref < T > & ServerRefExtend < T > ; export type ServerReactive < T > = T & ServerRefExtend < T > ;