/**
 * Splits an array into two arrays based on an asynchronous or synchronous predicate.
 *
 * Iterates through the input array, applying the given predicate function to each item.
 * If the predicate resolves to `true`, the item is placed in the first output array (positive).
 * If the predicate resolves to `false`, the item is placed in the second output array (negative).
 *
 * The predicate may return a boolean directly or a Promise that resolves to a boolean.
 *
 * @template T The type of items in the input array.
 * @param inputArray - The array to split.
 * @param predicate - A function that takes an item and returns a boolean or a Promise<boolean>.
 * @returns A Promise that resolves to a tuple: [items that matched, items that did not match].
 *
 * @example
 * ```ts
 * const numbers = [1, 2, 3, 4, 5];
 * const [even, odd] = await splitArrayAsync(numbers, async (n) => n % 2 === 0);
 * // even: [2, 4]
 * // odd: [1, 3, 5]
 * ```
 */
export declare function splitArrayAsync<T>(inputArray: T[], predicate: (arrayItem: T) => boolean | Promise<boolean>): Promise<[T[], T[]]>;
//# sourceMappingURL=split-array-async.d.ts.map