from typing import Final, Literal

EPOCH: Final = 1948320.5
WEEKDAYS: Final[tuple[str, ...]]
MONTHS: Final[list[str]]
HAS_31_DAYS: Final = (1, 2, 3, 4, 5, 6)
HAS_30_DAYS: Final = (7, 8, 9, 10, 11)

def leap(year: int) -> bool: ...
def equinox_jd(gyear: int) -> int: ...
def last_equinox_jd(jd: float) -> int: ...
def jd_to_pyear(jd: float) -> tuple[int, int]: ...
def to_jd(year: int, month: int, day: int) -> float: ...
def from_jd(jd: float) -> tuple[int, int, int]: ...
def from_gregorian(year: int, month: int, day: int) -> tuple[int, int, int]: ...
def to_gregorian(year: int, month: int, day: int) -> tuple[int, int, int]: ...
def month_length(year: int, month: int) -> Literal[29, 30, 31]: ...
def monthcalendar(year: int, month: int) -> list[list[int | None]]: ...
def format(year: int, month: int, day: int) -> str: ...
