massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / Werkzeug / werkzeug / datastructures.pyi
1 import sys
2 from _typeshed import SupportsWrite
3 from typing import (
4     IO,
5     Any,
6     Callable,
7     Container,
8     Dict,
9     Generic,
10     Iterable,
11     Iterator,
12     List,
13     Mapping,
14     MutableSet,
15     NoReturn,
16     Text,
17     Tuple,
18     Type,
19     TypeVar,
20     overload,
21 )
22
23 if sys.version_info >= (3, 8):
24     from typing import SupportsIndex
25 else:
26     from typing_extensions import SupportsIndex
27
28 _K = TypeVar("_K")
29 _V = TypeVar("_V")
30 _R = TypeVar("_R")
31 _D = TypeVar("_D")
32
33 def is_immutable(self) -> NoReturn: ...
34 def iter_multi_items(mapping): ...
35 def native_itermethods(names): ...
36
37 class ImmutableListMixin(Generic[_V]):
38     def __hash__(self) -> int: ...
39     def __reduce_ex__(self: _D, protocol) -> tuple[Type[_D], list[_V]]: ...
40     def __delitem__(self, key: _V) -> NoReturn: ...
41     def __iadd__(self, other: Any) -> NoReturn: ...
42     def __imul__(self, other: Any) -> NoReturn: ...
43     def __setitem__(self, key: str, value: Any) -> NoReturn: ...
44     def append(self, item: Any) -> NoReturn: ...
45     def remove(self, item: Any) -> NoReturn: ...
46     def extend(self, iterable: Any) -> NoReturn: ...
47     def insert(self, pos: int, value: Any) -> NoReturn: ...
48     def pop(self, index: int = ...) -> NoReturn: ...
49     def reverse(self) -> NoReturn: ...
50     def sort(self, cmp: Any | None = ..., key: Any | None = ..., reverse: Any | None = ...) -> NoReturn: ...
51
52 class ImmutableList(ImmutableListMixin[_V], List[_V]): ...  # type: ignore
53
54 class ImmutableDictMixin(object):
55     @classmethod
56     def fromkeys(cls, *args, **kwargs): ...
57     def __reduce_ex__(self, protocol): ...
58     def __hash__(self) -> int: ...
59     def setdefault(self, key, default: Any | None = ...): ...
60     def update(self, *args, **kwargs): ...
61     def pop(self, key, default: Any | None = ...): ...
62     def popitem(self): ...
63     def __setitem__(self, key, value): ...
64     def __delitem__(self, key): ...
65     def clear(self): ...
66
67 class ImmutableMultiDictMixin(ImmutableDictMixin):
68     def __reduce_ex__(self, protocol): ...
69     def add(self, key, value): ...
70     def popitemlist(self): ...
71     def poplist(self, key): ...
72     def setlist(self, key, new_list): ...
73     def setlistdefault(self, key, default_list: Any | None = ...): ...
74
75 class UpdateDictMixin(object):
76     on_update: Any
77     def setdefault(self, key, default: Any | None = ...): ...
78     def pop(self, key, default=...): ...
79     __setitem__: Any
80     __delitem__: Any
81     clear: Any
82     popitem: Any
83     update: Any
84
85 class TypeConversionDict(Dict[_K, _V]):
86     @overload
87     def get(self, key: _K, *, type: None = ...) -> _V | None: ...
88     @overload
89     def get(self, key: _K, default: _D, type: None = ...) -> _V | _D: ...
90     @overload
91     def get(self, key: _K, *, type: Callable[[_V], _R]) -> _R | None: ...
92     @overload
93     def get(self, key: _K, default: _D, type: Callable[[_V], _R]) -> _R | _D: ...
94
95 class ImmutableTypeConversionDict(ImmutableDictMixin, TypeConversionDict[_K, _V]):  # type: ignore
96     def copy(self) -> TypeConversionDict[_K, _V]: ...
97     def __copy__(self) -> ImmutableTypeConversionDict[_K, _V]: ...
98
99 class ViewItems:
100     def __init__(self, multi_dict, method, repr_name, *a, **kw): ...
101     def __iter__(self): ...
102
103 class MultiDict(TypeConversionDict[_K, _V]):
104     def __init__(self, mapping: Any | None = ...): ...
105     def __getitem__(self, key): ...
106     def __setitem__(self, key, value): ...
107     def add(self, key, value): ...
108     def getlist(self, key, type: Any | None = ...): ...
109     def setlist(self, key, new_list): ...
110     def setdefault(self, key, default: Any | None = ...): ...
111     def setlistdefault(self, key, default_list: Any | None = ...): ...
112     def items(self, multi: bool = ...): ...
113     def lists(self): ...
114     def keys(self): ...
115     __iter__: Any
116     def values(self): ...
117     def listvalues(self): ...
118     def copy(self): ...
119     def deepcopy(self, memo: Any | None = ...): ...
120     def to_dict(self, flat: bool = ...): ...
121     def update(self, other_dict): ...
122     def pop(self, key, default=...): ...
123     def popitem(self): ...
124     def poplist(self, key): ...
125     def popitemlist(self): ...
126     def __copy__(self): ...
127     def __deepcopy__(self, memo): ...
128
129 class _omd_bucket:
130     prev: Any
131     key: Any
132     value: Any
133     next: Any
134     def __init__(self, omd, key, value): ...
135     def unlink(self, omd): ...
136
137 class OrderedMultiDict(MultiDict[_K, _V]):
138     def __init__(self, mapping: Any | None = ...): ...
139     def __eq__(self, other): ...
140     def __ne__(self, other): ...
141     def __reduce_ex__(self, protocol): ...
142     def __getitem__(self, key): ...
143     def __setitem__(self, key, value): ...
144     def __delitem__(self, key): ...
145     def keys(self): ...
146     __iter__: Any
147     def values(self): ...
148     def items(self, multi: bool = ...): ...
149     def lists(self): ...
150     def listvalues(self): ...
151     def add(self, key, value): ...
152     def getlist(self, key, type: Any | None = ...): ...
153     def setlist(self, key, new_list): ...
154     def setlistdefault(self, key, default_list: Any | None = ...): ...
155     def update(self, mapping): ...
156     def poplist(self, key): ...
157     def pop(self, key, default=...): ...
158     def popitem(self): ...
159     def popitemlist(self): ...
160
161 class Headers(object):
162     def __init__(self, defaults: Any | None = ...): ...
163     def __getitem__(self, key, _get_mode: bool = ...): ...
164     def __eq__(self, other): ...
165     def __ne__(self, other): ...
166     @overload
167     def get(self, key: str, *, type: None = ...) -> str | None: ...
168     @overload
169     def get(self, key: str, default: _D, type: None = ...) -> str | _D: ...
170     @overload
171     def get(self, key: str, *, type: Callable[[str], _R]) -> _R | None: ...
172     @overload
173     def get(self, key: str, default: _D, type: Callable[[str], _R]) -> _R | _D: ...
174     @overload
175     def get(self, key: str, *, as_bytes: bool) -> Any: ...
176     @overload
177     def get(self, key: str, *, type: None, as_bytes: bool) -> Any: ...
178     @overload
179     def get(self, key: str, *, type: Callable[[Any], _R], as_bytes: bool) -> _R | None: ...
180     @overload
181     def get(self, key: str, default: Any, type: None, as_bytes: bool) -> Any: ...
182     @overload
183     def get(self, key: str, default: _D, type: Callable[[Any], _R], as_bytes: bool) -> _R | _D: ...
184     def getlist(self, key, type: Any | None = ..., as_bytes: bool = ...): ...
185     def get_all(self, name): ...
186     def items(self, lower: bool = ...): ...
187     def keys(self, lower: bool = ...): ...
188     def values(self): ...
189     def extend(self, iterable): ...
190     def __delitem__(self, key: Any) -> None: ...
191     def remove(self, key): ...
192     @overload
193     def pop(self, key: int | None = ...) -> str: ...  # default is ignored, using it is an error
194     @overload
195     def pop(self, key: str) -> str: ...
196     @overload
197     def pop(self, key: str, default: str) -> str: ...
198     @overload
199     def pop(self, key: str, default: None) -> str | None: ...
200     def popitem(self): ...
201     def __contains__(self, key): ...
202     has_key: Any
203     def __iter__(self): ...
204     def __len__(self): ...
205     def add(self, _key, _value, **kw): ...
206     def add_header(self, _key, _value, **_kw): ...
207     def clear(self): ...
208     def set(self, _key, _value, **kw): ...
209     def setdefault(self, key, value): ...
210     def __setitem__(self, key, value): ...
211     def to_list(self, charset: Text = ...): ...
212     def to_wsgi_list(self): ...
213     def copy(self): ...
214     def __copy__(self): ...
215
216 class ImmutableHeadersMixin:
217     def __delitem__(self, key: str) -> None: ...
218     def __setitem__(self, key, value): ...
219     set: Any
220     def add(self, *args, **kwargs): ...
221     remove: Any
222     add_header: Any
223     def extend(self, iterable): ...
224     def insert(self, pos, value): ...
225     @overload
226     def pop(self, key: int | None = ...) -> str: ...  # default is ignored, using it is an error
227     @overload
228     def pop(self, key: str) -> str: ...
229     @overload
230     def pop(self, key: str, default: str) -> str: ...
231     @overload
232     def pop(self, key: str, default: None) -> str | None: ...
233     def popitem(self): ...
234     def setdefault(self, key, default): ...
235
236 class EnvironHeaders(ImmutableHeadersMixin, Headers):
237     environ: Any
238     def __init__(self, environ): ...
239     def __eq__(self, other): ...
240     def __getitem__(self, key, _get_mode: bool = ...): ...
241     def __len__(self): ...
242     def __iter__(self): ...
243     def copy(self): ...
244
245 class CombinedMultiDict(ImmutableMultiDictMixin, MultiDict[_K, _V]):  # type: ignore
246     def __reduce_ex__(self, protocol): ...
247     dicts: Any
248     def __init__(self, dicts: Any | None = ...): ...
249     @classmethod
250     def fromkeys(cls): ...
251     def __getitem__(self, key): ...
252     def get(self, key, default: Any | None = ..., type: Any | None = ...): ...
253     def getlist(self, key, type: Any | None = ...): ...
254     def keys(self): ...
255     __iter__: Any
256     def items(self, multi: bool = ...): ...
257     def values(self): ...
258     def lists(self): ...
259     def listvalues(self): ...
260     def copy(self): ...
261     def to_dict(self, flat: bool = ...): ...
262     def __len__(self): ...
263     def __contains__(self, key): ...
264     has_key: Any
265
266 class FileMultiDict(MultiDict[_K, _V]):
267     def add_file(self, name, file, filename: Any | None = ..., content_type: Any | None = ...): ...
268
269 class ImmutableDict(ImmutableDictMixin, Dict[_K, _V]):  # type: ignore
270     def copy(self): ...
271     def __copy__(self): ...
272
273 class ImmutableMultiDict(ImmutableMultiDictMixin, MultiDict[_K, _V]):  # type: ignore
274     def copy(self): ...
275     def __copy__(self): ...
276
277 class ImmutableOrderedMultiDict(ImmutableMultiDictMixin, OrderedMultiDict[_K, _V]):  # type: ignore
278     def copy(self): ...
279     def __copy__(self): ...
280
281 class Accept(ImmutableList[Tuple[str, float]]):
282     provided: bool
283     def __init__(self, values: None | Accept | Iterable[tuple[str, float]] = ...) -> None: ...
284     @overload
285     def __getitem__(self, key: SupportsIndex) -> tuple[str, float]: ...
286     @overload
287     def __getitem__(self, s: slice) -> list[tuple[str, float]]: ...
288     @overload
289     def __getitem__(self, key: str) -> float: ...
290     def quality(self, key: str) -> float: ...
291     def __contains__(self, value: str) -> bool: ...  # type: ignore
292     def index(self, key: str | tuple[str, float]) -> int: ...  # type: ignore
293     def find(self, key: str | tuple[str, float]) -> int: ...
294     def values(self) -> Iterator[str]: ...
295     def to_header(self) -> str: ...
296     @overload
297     def best_match(self, matches: Iterable[str], default: None = ...) -> str | None: ...
298     @overload
299     def best_match(self, matches: Iterable[str], default: _D) -> str | _D: ...
300     @property
301     def best(self) -> str | None: ...
302
303 class MIMEAccept(Accept):
304     @property
305     def accept_html(self) -> bool: ...
306     @property
307     def accept_xhtml(self) -> bool: ...
308     @property
309     def accept_json(self) -> bool: ...
310
311 class LanguageAccept(Accept): ...
312 class CharsetAccept(Accept): ...
313
314 def cache_property(key, empty, type): ...
315
316 class _CacheControl(UpdateDictMixin, Dict[str, Any]):
317     no_cache: Any
318     no_store: Any
319     max_age: Any
320     no_transform: Any
321     on_update: Any
322     provided: Any
323     def __init__(self, values=..., on_update: Any | None = ...): ...
324     def to_header(self): ...
325
326 class RequestCacheControl(ImmutableDictMixin, _CacheControl):  # type: ignore
327     max_stale: Any
328     min_fresh: Any
329     no_transform: Any
330     only_if_cached: Any
331
332 class ResponseCacheControl(_CacheControl):
333     public: Any
334     private: Any
335     must_revalidate: Any
336     proxy_revalidate: Any
337     s_maxage: Any
338
339 class CallbackDict(UpdateDictMixin, Dict[_K, _V]):
340     on_update: Any
341     def __init__(self, initial: Any | None = ..., on_update: Any | None = ...): ...
342
343 class HeaderSet(MutableSet[str]):
344     on_update: Any
345     def __init__(self, headers: Any | None = ..., on_update: Any | None = ...): ...
346     def add(self, header): ...
347     def remove(self, header): ...
348     def update(self, iterable): ...
349     def discard(self, header): ...
350     def find(self, header): ...
351     def index(self, header): ...
352     def clear(self): ...
353     def as_set(self, preserve_casing: bool = ...): ...
354     def to_header(self): ...
355     def __getitem__(self, idx): ...
356     def __delitem__(self, idx): ...
357     def __setitem__(self, idx, value): ...
358     def __contains__(self, header): ...
359     def __len__(self): ...
360     def __iter__(self): ...
361     def __nonzero__(self): ...
362
363 class ETags(Container[str], Iterable[str]):
364     star_tag: Any
365     def __init__(self, strong_etags: Any | None = ..., weak_etags: Any | None = ..., star_tag: bool = ...): ...
366     def as_set(self, include_weak: bool = ...): ...
367     def is_weak(self, etag): ...
368     def contains_weak(self, etag): ...
369     def contains(self, etag): ...
370     def contains_raw(self, etag): ...
371     def to_header(self): ...
372     def __call__(self, etag: Any | None = ..., data: Any | None = ..., include_weak: bool = ...): ...
373     def __bool__(self): ...
374     __nonzero__: Any
375     def __iter__(self): ...
376     def __contains__(self, etag): ...
377
378 class IfRange:
379     etag: Any
380     date: Any
381     def __init__(self, etag: Any | None = ..., date: Any | None = ...): ...
382     def to_header(self): ...
383
384 class Range:
385     units: Any
386     ranges: Any
387     def __init__(self, units, ranges): ...
388     def range_for_length(self, length): ...
389     def make_content_range(self, length): ...
390     def to_header(self): ...
391     def to_content_range_header(self, length): ...
392
393 class ContentRange:
394     on_update: Any
395     units: str | None
396     start: Any
397     stop: Any
398     length: Any
399     def __init__(self, units: str | None, start, stop, length: Any | None = ..., on_update: Any | None = ...): ...
400     def set(self, start, stop, length: Any | None = ..., units: str | None = ...): ...
401     def unset(self) -> None: ...
402     def to_header(self): ...
403     def __nonzero__(self): ...
404     __bool__: Any
405
406 class Authorization(ImmutableDictMixin, Dict[str, Any]):  # type: ignore
407     type: str
408     def __init__(self, auth_type: str, data: Mapping[str, Any] | None = ...) -> None: ...
409     @property
410     def username(self) -> str | None: ...
411     @property
412     def password(self) -> str | None: ...
413     @property
414     def realm(self) -> str | None: ...
415     @property
416     def nonce(self) -> str | None: ...
417     @property
418     def uri(self) -> str | None: ...
419     @property
420     def nc(self) -> str | None: ...
421     @property
422     def cnonce(self) -> str | None: ...
423     @property
424     def response(self) -> str | None: ...
425     @property
426     def opaque(self) -> str | None: ...
427     @property
428     def qop(self) -> str | None: ...
429
430 class WWWAuthenticate(UpdateDictMixin, Dict[str, Any]):
431     on_update: Any
432     def __init__(self, auth_type: Any | None = ..., values: Any | None = ..., on_update: Any | None = ...): ...
433     def set_basic(self, realm: str = ...): ...
434     def set_digest(self, realm, nonce, qop=..., opaque: Any | None = ..., algorithm: Any | None = ..., stale: bool = ...): ...
435     def to_header(self): ...
436     @staticmethod
437     def auth_property(name, doc: Any | None = ...): ...
438     type: Any
439     realm: Any
440     domain: Any
441     nonce: Any
442     opaque: Any
443     algorithm: Any
444     qop: Any
445     stale: Any
446
447 class FileStorage(object):
448     name: Text | None
449     stream: IO[bytes]
450     filename: Text | None
451     headers: Headers
452     def __init__(
453         self,
454         stream: IO[bytes] | None = ...,
455         filename: None | Text | bytes = ...,
456         name: Text | None = ...,
457         content_type: Text | None = ...,
458         content_length: int | None = ...,
459         headers: Headers | None = ...,
460     ): ...
461     @property
462     def content_type(self) -> Text | None: ...
463     @property
464     def content_length(self) -> int: ...
465     @property
466     def mimetype(self) -> str: ...
467     @property
468     def mimetype_params(self) -> dict[str, str]: ...
469     def save(self, dst: Text | SupportsWrite[bytes], buffer_size: int = ...): ...
470     def close(self) -> None: ...
471     def __nonzero__(self) -> bool: ...
472     def __bool__(self) -> bool: ...
473     def __getattr__(self, name: Text) -> Any: ...
474     def __iter__(self) -> Iterator[bytes]: ...