massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / DateTimeRange / datetimerange / __init__.pyi
1 import datetime
2 from typing import Iterable
3
4 from dateutil.relativedelta import relativedelta
5
6 class DateTimeRange(object):
7     NOT_A_TIME_STR: str
8     start_time_format: str
9     end_time_format: str
10     is_output_elapse: bool
11     separator: str
12     def __init__(
13         self,
14         start_datetime: datetime.datetime | str | None = ...,
15         end_datetime: datetime.datetime | str | None = ...,
16         start_time_format: str = ...,
17         end_time_format: str = ...,
18     ) -> None: ...
19     def __eq__(self, other: object) -> bool: ...
20     def __ne__(self, other: object) -> bool: ...
21     def __add__(self, other: datetime.timedelta) -> DateTimeRange: ...
22     def __iadd__(self, other: datetime.timedelta) -> DateTimeRange: ...
23     def __sub__(self, other: datetime.timedelta) -> DateTimeRange: ...
24     def __isub__(self, other: datetime.timedelta) -> DateTimeRange: ...
25     def __contains__(self, x: datetime.timedelta | DateTimeRange | str) -> bool: ...
26     @property
27     def start_datetime(self) -> datetime.datetime: ...
28     @property
29     def end_datetime(self) -> datetime.datetime: ...
30     @property
31     def timedelta(self) -> datetime.timedelta: ...
32     def is_set(self) -> bool: ...
33     def validate_time_inversion(self) -> None: ...
34     def is_valid_timerange(self) -> bool: ...
35     def is_intersection(self, x: DateTimeRange) -> bool: ...
36     def get_start_time_str(self) -> str: ...
37     def get_end_time_str(self) -> str: ...
38     def get_timedelta_second(self) -> float: ...
39     def set_start_datetime(self, value: datetime.datetime | str | None, timezone: str | None = ...) -> None: ...
40     def set_end_datetime(self, value: datetime.datetime | str | None, timezone: str | None = ...) -> None: ...
41     def set_time_range(self, start: datetime.datetime | str | None, end: datetime.datetime | str | None) -> None: ...
42     def range(self, step: datetime.timedelta | relativedelta) -> Iterable[datetime.datetime]: ...
43     def intersection(self, x: DateTimeRange) -> DateTimeRange: ...
44     def encompass(self, x: DateTimeRange) -> DateTimeRange: ...
45     def truncate(self, percentage: float) -> None: ...