import { DeepPartial } from './type-helpers'; import { deepMerge } from './general-utils'; export declare type Stash = { target: T; stashedProperties: P; restore(): void; }; /** * Stash old properties on target and update with new properties (to restore, call stash.restore()) * Note: Stashed properties are stored as a deep copy. Restoring causes the copied items to be restored */ export declare function stashAndUpdate>(target: T, updatedProperties: P, useDeepMerge?: boolean, arrayMerge?: deepMerge.Options['arrayMerge'] | undefined): Stash;