/**
 * Compares two arrays and returns an object holding an array for the added and another one for the removed items.
 *
 * @param current The array of values after the changes were performed
 * @param initial The array of values before the changes were performed
 */
export declare function getArrayDiff<T>(current: T[] | null | undefined, initial: T[] | null | undefined): {
    /** The items that were added */
    added: T[];
    /** The items that were removed */
    removed: T[];
};
/**
 * Compares two arrays and returns an object holding an array for the added and another one for the removed items.
 *
 * @param current The array of values after the changes were performed
 * @param initial The array of values before the changes were performed
 * @param key The name of the property that will be used to identify objects to compare them for updates
 */
export declare function getArrayDiff<T>(current: T[] | null | undefined, initial: T[] | null | undefined, key?: keyof T): {
    /** The items that were added */
    added: T[];
    /** The items that were removed */
    removed: T[];
    /** The items that were updated */
    updated: T[];
};
//# sourceMappingURL=getArrayDiff.d.ts.map