/**
 * Batch extraction functions
 *
 * Provides batch processing capabilities for extracting from multiple documents
 * in a single operation for improved efficiency.
 */
import type { ExtractionConfig as ExtractionConfigType, ExtractionResult } from "../types.d.ts";
/**
 * Batch extract content from multiple byte arrays asynchronously
 *
 * Extracts content from multiple documents in a single batch operation,
 * allowing for more efficient processing of multiple files.
 *
 * @param files - Array of objects containing data (Uint8Array) and mimeType (string)
 * @param config - Optional extraction configuration applied to all files
 * @returns Promise resolving to array of extraction results
 * @throws {Error} If WASM module is not initialized or extraction fails
 *
 * @example
 * ```typescript
 * const files = [
 *   { data: pdfBytes, mimeType: 'application/pdf' },
 *   { data: docxBytes, mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' }
 * ];
 * const results = await batchExtractBytes(files);
 * results.forEach((result) => console.log(result.content));
 * ```
 */
export declare function batchExtractBytes(files: Array<{
    data: Uint8Array;
    mimeType: string;
}>, config?: ExtractionConfigType | null): Promise<ExtractionResult[]>;
/**
 * Batch extract content from multiple byte arrays synchronously
 *
 * Synchronous version of {@link batchExtractBytes}. Extracts content from multiple
 * documents in a single batch operation without async/await.
 *
 * **Note:** This function blocks the current thread until all extractions complete.
 * For large batches, prefer the async {@link batchExtractBytes} function.
 *
 * @param files - Array of objects containing data (Uint8Array) and mimeType (string)
 * @param config - Optional extraction configuration applied to all files
 * @returns Array of extraction results
 * @throws {Error} If WASM module is not initialized or extraction fails
 *
 * @example
 * ```typescript
 * const files = [
 *   { data: txtBytes, mimeType: 'text/plain' },
 *   { data: htmlBytes, mimeType: 'text/html' }
 * ];
 * const results = batchExtractBytesSync(files);
 * results.forEach((result) => console.log(result.content));
 * ```
 */
export declare function batchExtractBytesSync(files: Array<{
    data: Uint8Array;
    mimeType: string;
}>, config?: ExtractionConfigType | null): ExtractionResult[];
/**
 * Batch extract content from multiple File objects asynchronously
 *
 * Convenience function that converts File objects to Uint8Array and calls batchExtractBytes.
 * Automatically uses the file.type as MIME type if available.
 *
 * @param files - Array of File objects to extract from
 * @param config - Optional extraction configuration applied to all files
 * @returns Promise resolving to array of extraction results
 * @throws {Error} If WASM module is not initialized, files cannot be read, or extraction fails
 *
 * @example
 * ```typescript
 * const fileInput = document.getElementById('files');
 * const files = Array.from(fileInput.files ?? []);
 * const results = await batchExtractFiles(files);
 * results.forEach((result, index) => {
 *   console.log(`File ${index}: ${result.content.substring(0, 50)}...`);
 * });
 * ```
 */
export declare function batchExtractFiles(files: File[], config?: ExtractionConfigType | null): Promise<ExtractionResult[]>;
//# sourceMappingURL=batch.d.ts.map