"""Clock module for temporal and time-related calculations.

This module provides classes for working with temporal concepts in the Tarot system,
including calendrical systems, time cycles, astronomical coordinates, and astrological
planetary positions.

Access Patterns:
    from temporal import Year, Month, Day, Hour, Week
    from temporal import Calendar, TimeUtil, TemporalCoordinates, Season
    from temporal import ThalemaClock, Zodiac, PlanetPosition

    # Basic usage
    year = Year(2025)
    month = Month(11)  # November
    day = Day(18)
    hour = Hour(14)

    # Calendar operations
    current = Calendar.now()
    is_leap = Calendar.is_leap_year(2025)

    # Temporal coordinates
    season = TemporalCoordinates.get_season(11, 18)
    days_until_winter = TemporalCoordinates.days_until_event(11, 18, Season.WINTER)

    # Astrological positions
    clock = ThalemaClock()
    print(clock)  # Shows planetary positions
"""

from .astrology import PlanetPosition, ThalemaClock, Zodiac
from .calendar import Calendar
from .coordinates import Season, SolarEvent, TemporalCoordinates
from .temporal import Day, Hour, Month, Week, Year
from .time import TimeUtil

__all__ = [
    # Temporal classes
    "Year",
    "Month",
    "Day",
    "Hour",
    "Week",
    "Calendar",
    "TimeUtil",
    "TemporalCoordinates",
    "Season",
    "SolarEvent",
    # Astrological classes
    "ThalemaClock",
    "Zodiac",
    "PlanetPosition",
]
