"""Image operations for AXM.

This module provides image processing operations that integrate
with the AXM operation registry via entry points.
"""

from axm_image.operations.crop import CropOperation
from axm_image.operations.load import LoadOperation
from axm_image.operations.resize import ResizeOperation
from axm_image.operations.save import SaveOperation

__all__ = [
    "CropOperation",
    "LoadOperation",
    "ResizeOperation",
    "SaveOperation",
]
from axm.operations import OperationRegistry


def register_operations(registry: type[OperationRegistry] = OperationRegistry) -> None:
    """Register all image operations with the axm registry.

    This function is called automatically by axm's plugin discovery
    via the 'axm.operations' entry point.
    """
    registry.register("image.load", LoadOperation)
    registry.register("image.save", SaveOperation)
    registry.register("image.crop", CropOperation)
    registry.register("image.resize", ResizeOperation)
