import { MaybeRefOrGetter, Ref, WatchOptions } from 'vue'; type MaybePromise = T | Promise; export interface SyncedModelOptions extends WatchOptions { /** * [Out] 当本地值被修改(Set)时触发 * 通常用于触发 API 保存或 emit 事件 */ onSet?: (newValue: T, oldValue: T | undefined) => void; /** * [In] 当从 Source 成功同步(Sync)新值到本地时触发 * 无论是同步 Props 变化还是异步 Promise 解析都会触发 */ onSync?: (newValue: T) => void; /** * 异步过程中的 Loading 状态变化通知 */ onLoadingChange?: (isLoading: boolean) => void; /** * 异步出错回调 */ onError?: (err: any) => void; /** * 1. 异步请求期间的占位值 * 2. (可选) 当 Source 为 undefined 时的兜底值 */ defaultValue?: T; } /** * 创建一个自动同步外部 Source 的 Ref (Async Writable Computed) */ export declare function useSyncedRef(source: MaybeRefOrGetter>, options?: SyncedModelOptions): Ref; export {};