from typing import Any, Iterable, Optional, Tuple import datetime YearType = int MonthType = int DayType = int WeekdayType = int LocaleType = Tuple[Optional[str], Optional[str]] _colwidth = ... # type: int _spacing = ... # type: int class IllegalMonthError(ValueError): def __init__(self, month: MonthType) -> None: ... def __str__(self) -> str: ... class IllegalWeekdayError(ValueError): def __init__(self, weekday: WeekdayType) -> None: ... def __str__(self) -> str: ... def isleap(year: YearType) -> bool: ... def leapdays(y1: YearType, y2: YearType) -> int: ... def weekday(year: YearType, month: MonthType, day: DayType) -> WeekdayType: ... def monthrange(year: YearType, month: MonthType) -> Tuple[WeekdayType, int]: ... class Calendar(object): def __init__(self, firstweekday: WeekdayType = 0) -> None: ... def getfirstweekday(self) -> WeekdayType: ... def setfirstweekday(self, firstweekday: WeekdayType) -> None: ... def iterweekdays(self) -> Iterable[WeekdayType]: ... def itermonthdates(self, year: YearType, month: MonthType) -> Iterable[datetime.date]: ... def itermonthdays2(self, year: YearType, month: MonthType) -> Iterable[Tuple[DayType, WeekdayType]]: ... def itermonthdays(self, year: YearType, month: MonthType) -> Iterable[DayType]: ... def monthdatescalendar(self, year: YearType, month: MonthType) -> List[List[datetime.date]]: ... def monthdays2calendar(self, year: YearType, month: MonthType) -> List[List[Tuple[DayType, WeekdayType]]]: ... def monthdayscalendar(self, year: YearType, month: MonthType) -> List[List[DayType]]: ... def yeardatescalendar(self, year: YearType, width: int = 3) -> List[List[DayType]]: ... def yeardays2calendar(self, year: YearType, width: int = 3) -> List[List[Tuple[DayType, WeekdayType]]]: ... def yeardayscalendar(self, year: YearType, width: int = 3) -> List[List[DayType]]: ... class TextCalendar(Calendar): def prweek(self, theweek: int, width: int) -> None: ... def formatday(self, day: DayType, weekday: WeekdayType, width: int) -> str: ... def formatweek(self, theweek: int, width: int) -> str: ... def formatweekday(self, day: DayType, width: int) -> str: ... def formatweekheader(self, width: int) -> str: ... def formatmonthname(self, theyear: YearType, themonth: MonthType, width: int, withyear: bool = ...) -> str: ... def prmonth(self, theyear: YearType, themonth: MonthType, w: Any=0, l: Any = 0) -> None: ... def formatmonth(self, theyear: YearType, themonth: MonthType, w: int = 0, l: int = 0) -> str: ... def formatyear(self, theyear: YearType, w: int=2, l: int=1, c: int = 6, m: int = 3) -> str: ... def pryear(self, theyear: YearType, w: Any = 0, l: Any = 0, c: Any = 6, m: Any = 3) -> None: ... class HTMLCalendar(Calendar): def formatday(self, day: DayType, weekday: WeekdayType) -> str: ... def formatweek(self, theweek: int) -> str: ... def formatweekday(self, day: DayType) -> str: ... def formatweekheader(self) -> str: ... def formatmonthname(self, theyear: YearType, themonth: MonthType, withyear: bool = ...) -> str: ... def formatmonth(self, theyear: YearType, themonth: MonthType, withyear: bool = ...) -> str: ... def formatyear(self, theyear: YearType, width: int = 3) -> str: ... def formatyearpage(self, theyear: YearType, width: int = 3, css: Optional[str] = 'calendar.css', encoding: Optional[str] = ...) -> str: ... class TimeEncoding: def __init__(self, locale: LocaleType) -> None: ... def __enter__(self) -> LocaleType: ... def __exit__(self, *args) -> None: ... class LocaleTextCalendar(TextCalendar): def __init__(self, firstweekday: WeekdayType = 0, locale: Optional[LocaleType] = ...) -> None: ... def formatweekday(self, day: DayType, width: int) -> str: ... def formatmonthname(self, theyear: YearType, themonth: MonthType, width: int, withyear: bool = ...) -> str: ... class LocaleHTMLCalendar(HTMLCalendar): def __init__(self, firstweekday: WeekdayType = 0, locale: Optional[LocaleType] = ...) -> None: ... def formatweekday(self, day: DayType) -> str: ... def formatmonthname(self, theyear: YearType, themonth: MonthType, withyear: bool = ...) -> str: ... c = ... # type: TextCalendar def setfirstweekday(firstweekday: WeekdayType) -> None: ... def format(cols: int, colwidth: int=_colwidth, spacing: int = _spacing) -> str: ... def formatstring(cols: int, colwidth: int = _colwidth, spacing: int = _spacing) -> str: ... def timegm(tuple: Tuple[int]) -> int: ...