# Source code for kasa.interfaces.time

    """Module for time interface."""

    from __future__ import annotations

    from abc import ABC, abstractmethod
    from datetime import datetime, tzinfo

    from ..module import Module

    class Time(Module, ABC):
        """Base class for tplink time module."""

        @property
        @abstractmethod
        def time(self) -> datetime:
            """Return timezone aware current device time."""

        @property
        @abstractmethod
        def timezone(self) -> tzinfo:
            """Return current timezone."""

        @abstractmethod
        async def set_time(self, dt: datetime) -> dict:
            """Set the device time."""