import type { ReactiveObserver } from '../libs/mutation-tracker'; import type { VM } from './vm'; export interface MutationLog { vm: VM; prop: string; } /** * Flush all the logs we've written so far and return the current logs. */ export declare function getAndFlushMutationLogs(): MutationLog[]; /** * Log a new mutation for this reactive observer. * @param reactiveObserver - relevant ReactiveObserver * @param target - target object that is being observed * @param key - key (property) that was mutated */ export declare function logMutation(reactiveObserver: ReactiveObserver, target: object, key: PropertyKey): void; /** * Flush logs associated with a given VM. * @param vm - given VM */ export declare function flushMutationLogsForVM(vm: VM): void; /** * Mark this ReactiveObserver as related to this VM. This is only needed for mutation tracking in dev mode. * @param reactiveObserver * @param vm */ export declare function associateReactiveObserverWithVM(reactiveObserver: ReactiveObserver, vm: VM): void; /** * Deeply track all objects in a target and associate with a given key. * @param key - key associated with the object in the component * @param target - tracked target object */ export declare function trackTargetForMutationLogging(key: PropertyKey, target: any): void; //# sourceMappingURL=mutation-logger.d.ts.map