# Source code for kasa.interfaces.led

    """Module for base light effect module."""

    from __future__ import annotations

    from abc import ABC, abstractmethod

    from ..feature import Feature
    from ..module import Module

    class Led(Module, ABC):
        """Base interface to represent a LED module."""

        def _initialize_features(self) -> None:
            """Initialize features."""
            device = self._device
            self._add_feature(
                Feature(
                    device=device,
                    container=self,
                    name="LED",
                    id="led",
                    icon="mdi:led",
                    attribute_getter="led",
                    attribute_setter="set_led",
                    type=Feature.Type.Switch,
                    category=Feature.Category.Config,
                )
            )

        @property
        @abstractmethod
        def led(self) -> bool:
            """Return current led status."""

        @abstractmethod
        async def set_led(self, enable: bool) -> dict:
            """Set led."""