/**
 * OCR Backend Registry
 *
 * Provides a registry for OCR backends in the WASM environment.
 * This enables auto-registration and management of OCR backends.
 *
 * Note: The WASM package provides a lightweight registry in the browser.
 * For more advanced features like Rust integration, use @kreuzberg/node or @kreuzberg/deno.
 *
 * @example
 * ```typescript
 * import { TesseractWasmBackend } from '@kreuzberg/wasm/ocr/tesseract-wasm-backend';
 * import { enableOcr } from '@kreuzberg/wasm';
 *
 * // Simple auto-registration
 * await enableOcr();
 * ```
 */
import type { OcrBackendProtocol } from "../types.d.ts";
/**
 * Register an OCR backend
 *
 * Registers an OCR backend with the WASM extraction pipeline.
 * If a backend with the same name is already registered, it will be replaced.
 *
 * @param backend - OCR backend implementing OcrBackendProtocol
 * @throws {Error} If backend validation fails
 *
 * @example
 * ```typescript
 * import { TesseractWasmBackend } from '@kreuzberg/wasm/ocr/tesseract-wasm-backend';
 * import { registerOcrBackend } from '@kreuzberg/wasm/ocr/registry';
 *
 * const backend = new TesseractWasmBackend();
 * await backend.initialize();
 * registerOcrBackend(backend);
 * ```
 */
export declare function registerOcrBackend(backend: OcrBackendProtocol): void;
/**
 * Get a registered OCR backend by name
 *
 * @param name - Backend name
 * @returns The OCR backend or undefined if not found
 *
 * @example
 * ```typescript
 * import { getOcrBackend } from '@kreuzberg/wasm/ocr/registry';
 *
 * const backend = getOcrBackend('tesseract-wasm');
 * if (backend) {
 *   console.log('Available languages:', backend.supportedLanguages());
 * }
 * ```
 */
export declare function getOcrBackend(name: string): OcrBackendProtocol | undefined;
/**
 * List all registered OCR backends
 *
 * @returns Array of registered backend names
 *
 * @example
 * ```typescript
 * import { listOcrBackends } from '@kreuzberg/wasm/ocr/registry';
 *
 * const backends = listOcrBackends();
 * console.log('Available OCR backends:', backends);
 * ```
 */
export declare function listOcrBackends(): string[];
/**
 * Unregister an OCR backend
 *
 * @param name - Backend name to unregister
 * @throws {Error} If backend is not found
 *
 * @example
 * ```typescript
 * import { unregisterOcrBackend } from '@kreuzberg/wasm/ocr/registry';
 *
 * unregisterOcrBackend('tesseract-wasm');
 * ```
 */
export declare function unregisterOcrBackend(name: string): Promise<void>;
/**
 * Clear all registered OCR backends
 *
 * Unregisters all OCR backends and calls their shutdown methods.
 *
 * @example
 * ```typescript
 * import { clearOcrBackends } from '@kreuzberg/wasm/ocr/registry';
 *
 * // Clean up all backends when shutting down
 * await clearOcrBackends();
 * ```
 */
export declare function clearOcrBackends(): Promise<void>;
//# sourceMappingURL=registry.d.ts.map