{% import 'macros/macros.j2' as macros %}
from __future__ import annotations

from typing import *

{% for imp in imports %}
import {{ imp }}
{% endfor %}

Unknown = Any
{% if module.name == "maya.cmds.__init__" %}

_T = TypeVar("_T")

Queryable = Union[bool, _T]
Multiuse = Union[_T, List[_T]]
Range = Union[Tuple[_T], Tuple[_T, _T]]
NullableRange = Range[Optional[_T]]
{% endif %}

{% for member in module.members %}
{% if member.__class__.__name__ == "Variable" %}
{{ render_variable(member, template_type="pyi") }}
{% elif member.__class__.__name__ == "Function" %}
{{ render_function(member, template_type="pyi") }}
{% elif member.__class__.__name__ == "Class" %}
{{ render_class(member, template_type="pyi") }}
{% endif %}

{% endfor %}
