//#region src/fp/iterator/partition.d.ts /** * Creates a function that consumes an iterator and splits its elements into * `[matched, unmatched]` arrays by `predicate`, for use as the terminal step of * a {@link pipe}. * * This is a terminal operation: it pulls every element, so it must not be used * on an infinite iterator. * * @template T - The type of elements produced by the source iterator. * @param predicate - Called with `(value, index)`; truthy sends the element to the first array. * @returns A function mapping an `Iterator` to a `[T[], T[]]` tuple. * * @example * import { pipe } from 'es-toolkit/fp'; * import { partition } from 'es-toolkit/fp/iterator'; * * pipe([1, 2, 3, 4].values(), partition(x => x % 2 === 0)); // => [[2, 4], [1, 3]] */ declare function partition(predicate: (value: T, index: number) => boolean): (source: Iterator) => [T[], T[]]; //#endregion export { partition };