export interface BatchOptions {
    readonly size: number;
    readonly signal?: AbortSignal;
}
export declare function chunkItems<T>(items: readonly T[], size: number): readonly (readonly T[])[];
/** Runs bounded batches sequentially so callers do not accidentally fan out host work. */
export declare function runBatches<T, TResult>(items: readonly T[], worker: (batch: readonly T[], batchIndex: number) => Promise<readonly TResult[]>, options: BatchOptions): Promise<readonly TResult[]>;
