/**
 * Utility functions for batch processing operations
 */
import type { Ref } from "vue";
/**
 * Configuration for batch processing
 */
export interface BatchProcessorConfig<T, R> {
    /** Array of items to process */
    items: T[];
    /** Function to process a single item */
    processor: (item: T) => Promise<R>;
    /** Number of items to process concurrently (default: 5) */
    batchSize?: number;
    /** Delay between batches in milliseconds (default: 200) */
    batchDelay?: number;
    /** Optional progress callback */
    onProgress?: (progress: {
        current: number;
        total: number;
        batchStart: number;
        batchEnd: number;
        message: string;
    }) => void;
    /** Optional progress message ref to update */
    progressMessage?: Ref<string>;
    /** Callback fired after each batch completes */
    onBatchEnd?: (info: {
        /** Zero-based batch index */
        batchIndex: number;
        /** Results of this batch */
        results: Array<R | null>;
    }) => void;
}
/**
 * Process items in batches with concurrency control
 * @param config - Batch processing configuration
 * @returns Promise that resolves to array of results (null for failed items)
 */
export declare function processBatch<T, R>(config: BatchProcessorConfig<T, R>): Promise<Array<R | null>>;
