massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / python-dateutil / dateutil / tz / tz.pyi
1 import datetime
2 from typing import IO, Any, Text, TypeVar, Union
3
4 from ..relativedelta import relativedelta
5 from ._common import _tzinfo as _tzinfo, enfold as enfold, tzname_in_python2 as tzname_in_python2, tzrangebase as tzrangebase
6
7 _FileObj = Union[str, Text, IO[str], IO[Text]]
8 _DT = TypeVar("_DT", bound=datetime.datetime)
9
10 ZERO: datetime.timedelta
11 EPOCH: datetime.datetime
12 EPOCHORDINAL: int
13
14 class tzutc(datetime.tzinfo):
15     def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
16     def dst(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
17     def tzname(self, dt: datetime.datetime | None) -> str: ...
18     def is_ambiguous(self, dt: datetime.datetime | None) -> bool: ...
19     def fromutc(self, dt: _DT) -> _DT: ...
20     def __eq__(self, other): ...
21     __hash__: Any
22     def __ne__(self, other): ...
23     __reduce__: Any
24
25 class tzoffset(datetime.tzinfo):
26     def __init__(self, name, offset) -> None: ...
27     def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
28     def dst(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
29     def is_ambiguous(self, dt: datetime.datetime | None) -> bool: ...
30     def tzname(self, dt: datetime.datetime | None) -> str: ...
31     def fromutc(self, dt: _DT) -> _DT: ...
32     def __eq__(self, other): ...
33     __hash__: Any
34     def __ne__(self, other): ...
35     __reduce__: Any
36     @classmethod
37     def instance(cls, name, offset) -> tzoffset: ...
38
39 class tzlocal(_tzinfo):
40     def __init__(self) -> None: ...
41     def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
42     def dst(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
43     def tzname(self, dt: datetime.datetime | None) -> str: ...
44     def is_ambiguous(self, dt: datetime.datetime | None) -> bool: ...
45     def __eq__(self, other): ...
46     __hash__: Any
47     def __ne__(self, other): ...
48     __reduce__: Any
49
50 class _ttinfo:
51     def __init__(self) -> None: ...
52     def __eq__(self, other): ...
53     __hash__: Any
54     def __ne__(self, other): ...
55
56 class tzfile(_tzinfo):
57     def __init__(self, fileobj: _FileObj, filename: Text | None = ...) -> None: ...
58     def is_ambiguous(self, dt: datetime.datetime | None, idx: int | None = ...) -> bool: ...
59     def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
60     def dst(self, dt: datetime.datetime | None) -> datetime.timedelta | None: ...
61     def tzname(self, dt: datetime.datetime | None) -> str: ...
62     def __eq__(self, other): ...
63     __hash__: Any
64     def __ne__(self, other): ...
65     def __reduce__(self): ...
66     def __reduce_ex__(self, protocol): ...
67
68 class tzrange(tzrangebase):
69     hasdst: bool
70     def __init__(
71         self,
72         stdabbr: Text,
73         stdoffset: int | datetime.timedelta | None = ...,
74         dstabbr: Text | None = ...,
75         dstoffset: int | datetime.timedelta | None = ...,
76         start: relativedelta | None = ...,
77         end: relativedelta | None = ...,
78     ) -> None: ...
79     def transitions(self, year: int) -> tuple[datetime.datetime, datetime.datetime]: ...
80     def __eq__(self, other): ...
81
82 class tzstr(tzrange):
83     hasdst: bool
84     def __init__(self, s: bytes | _FileObj, posix_offset: bool = ...) -> None: ...
85     @classmethod
86     def instance(cls, name, offset) -> tzoffset: ...
87
88 class tzical:
89     def __init__(self, fileobj: _FileObj) -> None: ...
90     def keys(self): ...
91     def get(self, tzid: Any | None = ...): ...
92
93 TZFILES: list[str]
94 TZPATHS: list[str]
95
96 def datetime_exists(dt: datetime.datetime, tz: datetime.tzinfo | None = ...) -> bool: ...
97 def datetime_ambiguous(dt: datetime.datetime, tz: datetime.tzinfo | None = ...) -> bool: ...
98 def resolve_imaginary(dt: datetime.datetime) -> datetime.datetime: ...
99
100 class _GetTZ:
101     def __call__(self, name: Text | None = ...) -> datetime.tzinfo | None: ...
102     def nocache(self, name: Text | None) -> datetime.tzinfo | None: ...
103
104 gettz: _GetTZ