//#region src/Array/filter.d.ts /** * # filter * * ```ts * function Array.filter( * target: readonly T[], * by: ( * value: NoInfer, * index: number, * target: readonly NoInfer[], * ) => boolean, * ): readonly T[] * ``` * * Filters elements from `target` array based on the predicate function `by`. * * ## Example * * ```ts [data-first] * import { Array } from "@monstermann/array"; * * Array.filter([1, 2, 3, 4], (x) => x > 2); // [3, 4] * ``` * * ```ts [data-last] * import { Array } from "@monstermann/array"; * * pipe( * [1, 2, 3, 4], * Array.filter((x) => x > 2), * ); // [3, 4] * ``` * */ declare const filter: { (by: (value: NoInfer, index: number, target: readonly NoInfer[]) => value is U): (target: T[]) => U[]; (by: (value: NoInfer, index: number, target: readonly NoInfer[]) => value is U): (target: readonly T[]) => readonly U[]; (by: (value: NoInfer, index: number, target: readonly NoInfer[]) => boolean): (target: T[]) => T[]; (by: (value: NoInfer, index: number, target: readonly NoInfer[]) => boolean): (target: readonly T[]) => readonly T[]; (target: T[], by: (value: NoInfer, index: number, target: readonly NoInfer[]) => value is U): U[]; (target: readonly T[], by: (value: NoInfer, index: number, target: readonly NoInfer[]) => value is U): readonly U[]; (target: T[], by: (value: NoInfer, index: number, target: readonly NoInfer[]) => boolean): T[]; (target: readonly T[], by: (value: NoInfer, index: number, target: readonly NoInfer[]) => boolean): readonly T[]; }; //#endregion export { filter };