"""
Processing module for multi-pool parallel processing.

This module provides a robust dual-pool architecture for processing
documents with both CPU-bound and GPU-bound tasks.
"""

from training.processing.worker_pool import WorkerPool, TaskResult
from training.processing.cpu_pool import CPUWorkerPool
from training.processing.gpu_pool import GPUWorkerPool
from training.processing.task_dispatcher import TaskDispatcher, TaskType
from training.processing.dual_pool_coordinator import DualPoolCoordinator

__all__ = [
    "WorkerPool",
    "TaskResult",
    "CPUWorkerPool",
    "GPUWorkerPool",
    "TaskDispatcher",
    "TaskType",
    "DualPoolCoordinator",
]
