"""Financial operators for factor expression evaluation.

Exports the central registry and all operator category modules.
"""

from src.factorminer.operators.registry import (
    OPERATOR_REGISTRY,
    execute_operator,
    get_impl,
    get_operator,
    implemented_operators,
    list_operators,
)
from src.factorminer.operators.gpu_backend import (
    DeviceManager,
    batch_execute,
    device_manager,
    to_numpy,
    to_tensor,
    torch_available,
)
from src.factorminer.operators.auto_inventor import (
    OperatorInventor,
    ProposedOperator,
    ValidationResult,
)
from src.factorminer.operators.custom import (
    CustomOperator,
    CustomOperatorStore,
)

__all__ = [
    # Registry
    "OPERATOR_REGISTRY",
    "execute_operator",
    "get_impl",
    "get_operator",
    "implemented_operators",
    "list_operators",
    # GPU
    "DeviceManager",
    "batch_execute",
    "device_manager",
    "to_numpy",
    "to_tensor",
    "torch_available",
    # Auto-inventor
    "OperatorInventor",
    "ProposedOperator",
    "ValidationResult",
    # Custom operators
    "CustomOperator",
    "CustomOperatorStore",
]
