/**
 * Process an array of items with periodic yielding to the browser event loop.
 * Prevents UI freezes during heavy main-thread operations (INFRA-09).
 *
 * Uses setTimeout(0) between batches to allow event loop processing.
 * Minimum ~4ms delay per yield — batch at least 100 items (1000+ for per-vertex ops).
 *
 * @param items Array of items to process
 * @param processFn Function called for each item with (item, index)
 * @param batchSize Number of items to process before yielding (default: 100)
 */
export declare function cooperativeLoop<T>(items: T[], processFn: (item: T, index: number) => void, batchSize?: number): Promise<void>;
