import { IsLiteral } from "./internals/types.mjs"; //#region src/Array/removeAll.d.ts /** * # removeAll * * ```ts * function Array.removeAll( * target: readonly T[], * values: Iterable, * ): IsLiteral extends true * ? readonly Exclude[] * : readonly T[] * ``` * * Removes all occurrences of each value in `values` from `target` array. If no values are found, returns the original array unchanged. * * ## Example * * ```ts [data-first] * import { Array } from "@monstermann/array"; * * Array.removeAll([1, 2, 3, 2, 4], [2, 4]); // [1, 3] * ``` * * ```ts [data-last] * import { Array } from "@monstermann/array"; * * pipe([1, 2, 3, 2, 4], Array.removeAll([2, 4])); // [1, 3] * ``` * */ declare const removeAll: { (values: Iterable): (target: T[]) => IsLiteral extends true ? Exclude[] : T[]; (values: Iterable): (target: readonly T[]) => IsLiteral extends true ? readonly Exclude[] : readonly T[]; (target: T[], values: Iterable): IsLiteral extends true ? Exclude[] : T[]; (target: readonly T[], values: Iterable): IsLiteral extends true ? readonly Exclude[] : readonly T[]; }; //#endregion export { removeAll };