import type { Arr } from '@toolbox-ts/types/defs/array'; /** * Applies a transformation function to each element of an array, * filtering out any `undefined` results. * * Similar to [].map().filter() but only iterates once and expects undefined * to be used for filtering. * * @important Null values will not be filtered out. If you want to filter out nulls, use a transformation function that returns `undefined` for null inputs. * * @pure * * @example * ```ts * transform([1, 2, 3, 4], (n) => (n % 2 === 0 ? n * 2 : undefined)) * // [4, 8] * * transform(['a', 'b', 'c'], (s) => s === 'b' ? undefined : s.toUpperCase()) * // ['A', 'C'] * ``` */ export declare function transform(arr: T, fn: (item: T[number]) => U[number] | undefined): U; export declare function transformInPlace(arr: T, fn: (item: T[number]) => T[number] | undefined): void;