from typing import Final, Literal

EPOCH: Final = 1922501.5
EPOCH_SARKAWAG: Final = 2117210.5
MONTHS: Final[list[str]]
MONTHS_ARM: Final[list[str]]

def leap(year: int) -> bool: ...
def to_jd(year: int, month: int, day: int, method: Literal["sarkawag", "moveable"] | None = None) -> float: ...
def from_jd(jd: float, method: Literal["sarkawag", "moveable"] | None = None) -> tuple[int, int, int]: ...
def to_julian(year: int, month: int, day: int, method: Literal["sarkawag", "moveable"] | None = None) -> tuple[int, int, int]: ...
def from_julian(
    year: int, month: int, day: int, method: Literal["sarkawag", "moveable"] | None = None
) -> tuple[int, int, int]: ...
def to_gregorian(
    year: int, month: int, day: int, method: Literal["sarkawag", "moveable"] | None = None
) -> tuple[int, int, int]: ...
def from_gregorian(
    year: int, month: int, day: int, method: Literal["sarkawag", "moveable"] | None = None
) -> tuple[int, int, int]: ...
def month_length(year: int, month: int, method: Literal["sarkawag", "moveable"] | None = None) -> Literal[5, 6, 30]: ...
def monthcalendar(year: int, month: int, method: Literal["sarkawag", "moveable"] | None = None) -> list[list[int | None]]: ...
def format(year: int, month: int, day: int, lang: str | None = None) -> str: ...
def tostring(year: int, month: int, day: int, lang: str | None = None) -> str: ...
