1import sys
2from typing import Any, NamedTuple, Optional, Tuple, Union
3
4_TimeTuple = Tuple[int, int, int, int, int, int, int, int, int]
5
6accept2dyear: bool
7altzone: int
8daylight: int
9timezone: int
10tzname: Tuple[str, str]
11
12class _struct_time(NamedTuple):
13    tm_year: int
14    tm_mon: int
15    tm_mday: int
16    tm_hour: int
17    tm_min: int
18    tm_sec: int
19    tm_wday: int
20    tm_yday: int
21    tm_isdst: int
22    @property
23    def n_fields(self) -> int: ...
24    @property
25    def n_sequence_fields(self) -> int: ...
26    @property
27    def n_unnamed_fields(self) -> int: ...
28
29class struct_time(_struct_time):
30    def __init__(self, o: _TimeTuple, _arg: Any = ...) -> None: ...
31    def __new__(cls, o: _TimeTuple, _arg: Any = ...) -> struct_time: ...
32
33def asctime(t: Union[_TimeTuple, struct_time] = ...) -> str: ...
34def clock() -> float: ...
35def ctime(secs: Optional[float] = ...) -> str: ...
36def gmtime(secs: Optional[float] = ...) -> struct_time: ...
37def localtime(secs: Optional[float] = ...) -> struct_time: ...
38def mktime(t: Union[_TimeTuple, struct_time]) -> float: ...
39def sleep(secs: float) -> None: ...
40def strftime(format: str, t: Union[_TimeTuple, struct_time] = ...) -> str: ...
41def strptime(string: str, format: str = ...) -> struct_time: ...
42def time() -> float: ...
43
44if sys.platform != "win32":
45    def tzset() -> None: ...  # Unix only
46