/**
 * @copyright Sister Software
 * @license AGPL-3.0
 * @author Teffen Ellis, et al.
 */
import { PathBuilderLike } from "path-ts";
/**
 * Given an iterable collection, returns an async iterable, executing the callback on each batch.
 *
 * This is useful for batching asynchronous operations.
 *
 * @param collection The collection to batch.
 * @param batchSize The size of each batch.
 * @param callback The async callback to execute on each batch.
 */
export declare function takeInParallel<T, C extends (entry: T) => Promise<unknown>>(collection: Iterable<T> | AsyncIterable<T>, batchSize: number, callback: C, abortSignal?: AbortSignal): AsyncIterable<Awaited<ReturnType<C>>>;
/**
 * Given an async iterable collection, returns an async iterable, yielding batches of items.
 *
 * This is useful for emitting asynchronous items in batches, such as when processing a stream of
 * data.
 */
export declare function takeAsync<T>(collection: AsyncIterable<T>, batchSize: number): AsyncIterable<T[]>;
/**
 * Given a list of file patterns, returns the count of files that match the patterns.
 */
export declare function tallyPatternCount(patterns: string[], directory: PathBuilderLike): Promise<number>;
//# sourceMappingURL=collections.d.ts.map