export interface IValueChange { previousValue: any; currentValue: any; } /** * This function takes a source object with a prioritized list of changes. Goes through and detects the changes on every one of these structures and builds * a new object that respects immutability and updates object references only where necessary. This is used to merge lasagna overlays into a component state * that maintains its immutability and high performance of change detection. * * @param result * @param changes */ export declare function mergeChanges(result: T, ...changes: IValueChange[]): T;