type ChangedData = { difference?: any; key: keyof T; maxDepthReached?: boolean; newValue?: any; oldValue?: any; reactElementChanged?: boolean; }; type Changed = Array>; export type PropsDifference = { added: Array; changed: Changed; removed: Array; }; export type ShallowPropsDifference = { added: Array; changed: Array; removed: Array; }; export declare const getKeysAddedRemovedCommon: (object1: T, object2: T) => { added: (keyof T & keyof (T & {}))[]; common: (keyof T & keyof (T & {}))[]; removed: (keyof T & keyof (T & {}))[]; }; export declare const getPropsDifference: (object1: T, object2: T, curDepth?: number, maxDepth?: number, keysToIgnore?: Array) => PropsDifference; export declare const getShallowPropsDifference: (object1: T, object2: T) => ShallowPropsDifference; export { getKeys } from './getKeys'; export { serializeValue } from './serializeValue';