/**
 * Partitions a list into multiple groups based on a key returned by the given predicate function.
 *
 * For each item in the input list, the predicate is called to produce a grouping key.
 * Items with the same key are placed in the same group (array).
 * Items for which the predicate returns `undefined` are each placed into their own single-item group.
 *
 * @template T The type of items in the input list.
 * @param list - The array of items to partition.
 * @param predicate - A function that takes an item and returns a grouping key (string) or undefined.
 * @returns An array of groups. Each group is an array of items that share the same key.
 *          Items without a key are grouped individually.
 *
 * @example
 * ```ts
 * const data = ['apple', 'banana', 'apricot', 'blueberry', ''];
 * const result = partition(data, item => item[0] || undefined);
 * // result: [['apple', 'apricot'], ['banana', 'blueberry'], ['']]
 * ```
 */
export declare function partition<T>(list: T[], predicate: (item: T) => string | undefined): T[][];
//# sourceMappingURL=partition.d.ts.map