1from typing import Any, Dict, Optional, Text, Union
2from jinja2.utils import Markup as Markup, escape as escape, missing as missing, concat as concat
3from jinja2.exceptions import TemplateRuntimeError as TemplateRuntimeError, TemplateNotFound as TemplateNotFound
4
5from jinja2.environment import Environment
6
7to_string: Any
8identity: Any
9
10def markup_join(seq): ...
11def unicode_join(seq): ...
12
13class TemplateReference:
14    def __init__(self, context) -> None: ...
15    def __getitem__(self, name): ...
16
17class Context:
18    parent: Union[Context, Dict[str, Any]]
19    vars: Dict[str, Any]
20    environment: Environment
21    eval_ctx: Any
22    exported_vars: Any
23    name: Text
24    blocks: Dict[str, Any]
25    def __init__(self, environment: Environment, parent: Union[Context, Dict[str, Any]], name: Text, blocks: Dict[str, Any]) -> None: ...
26    def super(self, name, current): ...
27    def get(self, key, default: Optional[Any] = ...): ...
28    def resolve(self, key): ...
29    def get_exported(self): ...
30    def get_all(self): ...
31    def call(__self, __obj, *args, **kwargs): ...
32    def derived(self, locals: Optional[Any] = ...): ...
33    keys: Any
34    values: Any
35    items: Any
36    iterkeys: Any
37    itervalues: Any
38    iteritems: Any
39    def __contains__(self, name): ...
40    def __getitem__(self, key): ...
41
42class BlockReference:
43    name: Any
44    def __init__(self, name, context, stack, depth) -> None: ...
45    @property
46    def super(self): ...
47    def __call__(self): ...
48
49class LoopContext:
50    index0: int
51    depth0: Any
52    def __init__(self, iterable, recurse: Optional[Any] = ..., depth0: int = ...) -> None: ...
53    def cycle(self, *args): ...
54    first: Any
55    last: Any
56    index: Any
57    revindex: Any
58    revindex0: Any
59    depth: Any
60    def __len__(self): ...
61    def __iter__(self): ...
62    def loop(self, iterable): ...
63    __call__: Any
64    @property
65    def length(self): ...
66
67class LoopContextIterator:
68    context: Any
69    def __init__(self, context) -> None: ...
70    def __iter__(self): ...
71    def __next__(self): ...
72
73class Macro:
74    name: Any
75    arguments: Any
76    defaults: Any
77    catch_kwargs: Any
78    catch_varargs: Any
79    caller: Any
80    def __init__(self, environment, func, name, arguments, defaults, catch_kwargs, catch_varargs, caller) -> None: ...
81    def __call__(self, *args, **kwargs): ...
82
83class Undefined:
84    def __init__(self, hint: Optional[Any] = ..., obj: Any = ..., name: Optional[Any] = ..., exc: Any = ...) -> None: ...
85    def __getattr__(self, name): ...
86    __add__: Any
87    __radd__: Any
88    __mul__: Any
89    __rmul__: Any
90    __div__: Any
91    __rdiv__: Any
92    __truediv__: Any
93    __rtruediv__: Any
94    __floordiv__: Any
95    __rfloordiv__: Any
96    __mod__: Any
97    __rmod__: Any
98    __pos__: Any
99    __neg__: Any
100    __call__: Any
101    __getitem__: Any
102    __lt__: Any
103    __le__: Any
104    __gt__: Any
105    __ge__: Any
106    __int__: Any
107    __float__: Any
108    __complex__: Any
109    __pow__: Any
110    __rpow__: Any
111    def __eq__(self, other): ...
112    def __ne__(self, other): ...
113    def __hash__(self): ...
114    def __len__(self): ...
115    def __iter__(self): ...
116    def __nonzero__(self): ...
117    __bool__: Any
118
119def make_logging_undefined(logger: Optional[Any] = ..., base: Optional[Any] = ...): ...
120
121class DebugUndefined(Undefined): ...
122
123class StrictUndefined(Undefined):
124    __iter__: Any
125    __len__: Any
126    __nonzero__: Any
127    __eq__: Any
128    __ne__: Any
129    __bool__: Any
130    __hash__: Any
131