/** * Change Tracking System * 使用 Proxy 自动追踪状态变化 */ import type { Patch, TrackingOptions } from '../types.js'; /** * ChangeTracker - 变化追踪器 * 使用 Proxy 自动捕获状态变化 */ export declare class ChangeTracker { private target; private options; private changes; private proxies; private originalValues; private isStarted; constructor(target: any, options?: TrackingOptions); /** * 开始追踪 */ start(): any; /** * 钩住对象属性,拦截 setter */ hookProperties(obj: any): void; /** * 停止追踪 */ stop(): void; /** * 包装对象为 Proxy */ private wrapWithProxy; /** * 包装普通对象 */ private wrapObject; /** * 包装 Map */ private wrapMap; /** * 包装 Array */ private wrapArray; /** * 包装 Set */ private wrapSet; /** * 记录外部变化(来自 TrackedCollections) */ recordExternalChange(patch: Patch): void; /** * 记录变化 */ private recordChange; /** * 获取变化列表(JSON Patch 格式) */ getPatches(): Patch[]; /** * 清除变化记录 */ clearChanges(): void; /** * 是否有变化 */ hasChanges(): boolean; /** * 获取变化数量 */ getChangeCount(): number; } //# sourceMappingURL=ChangeTracker.d.ts.map