"""Postprocessing filter system.

Provides a pluggable filter architecture for image postprocessing.
Import this package to ensure all built-in filters are registered.
"""

from wled_controller.core.filters.base import FilterOptionDef, PostprocessingFilter
from wled_controller.core.filters.filter_instance import FilterInstance
from wled_controller.core.filters.image_pool import ImagePool
from wled_controller.core.filters.registry import FilterRegistry

# Import individual filters to trigger auto-registration
import wled_controller.core.filters.brightness  # noqa: F401
import wled_controller.core.filters.saturation  # noqa: F401
import wled_controller.core.filters.gamma  # noqa: F401
import wled_controller.core.filters.downscaler  # noqa: F401
import wled_controller.core.filters.pixelate  # noqa: F401
import wled_controller.core.filters.auto_crop  # noqa: F401
import wled_controller.core.filters.flip  # noqa: F401
import wled_controller.core.filters.color_correction  # noqa: F401
import wled_controller.core.filters.frame_interpolation  # noqa: F401
import wled_controller.core.filters.filter_template  # noqa: F401
import wled_controller.core.filters.css_filter_template  # noqa: F401
import wled_controller.core.filters.noise_gate  # noqa: F401
import wled_controller.core.filters.palette_quantization  # noqa: F401
import wled_controller.core.filters.reverse  # noqa: F401
import wled_controller.core.filters.hsl_shift  # noqa: F401
import wled_controller.core.filters.contrast  # noqa: F401
import wled_controller.core.filters.temporal_blur  # noqa: F401

__all__ = [
    "FilterOptionDef",
    "FilterInstance",
    "FilterRegistry",
    "ImagePool",
    "PostprocessingFilter",
]
