import { PlainObject } from "../models.mjs"; //#region src/array/partition.d.ts /** * Get a partitioned array of items * * @param array Array to search in * @param callback Callback to get an item's value for matching * @param value Value to match against * @returns Partitioned array of items * * @example * ```typescript * partition( * [{id: 1}, {id: 2}, {id: 3}], * item => item.id, * 2, * ); // => [[{id: 2}], [{id: 1}, {id: 3}]] * ``` */ declare function partition unknown>(array: Item[], callback: Callback, value: ReturnType): Item[][]; /** * Get a partitioned array of items * * @param array Array to search in * @param key Key to get an item's value for matching * @param value Value to match against * @returns Partitioned array of items * * @example * ```typescript * partition( * [{id: 1}, {id: 2}, {id: 3}], * 'id', * 2, * ); // => [[{id: 2}], [{id: 1}, {id: 3}]] * ``` */ declare function partition(array: Item[], key: ItemKey, value: Item[ItemKey]): Item[][]; /** * Get a partitioned array of items * * @param array Array to search in * @param filter Filter callback to match items * @returns Partitioned array of items * * @example * ```typescript * partition( * [{id: 1}, {id: 2}, {id: 3}], * item => item.id === 2, * ); // => [[{id: 2}], [{id: 1}, {id: 3}]] * ``` */ declare function partition(array: Item[], filter: (item: Item, index: number, array: Item[]) => boolean): Item[][]; /** * Get a partitioned array of items matching the given item * * @param array Array to search in * @param item Item to match against * @returns Partitioned array of items * * @example * ```typescript * partition([1, 2, 3, 4, 5], 3); // => [[3], [1, 2, 4, 5]] * ``` */ declare function partition(array: Item[], item: Item): Item[][]; //#endregion export { partition };