{% for p, info in api.all_parts.items() %}
  {% if info.required %}{{ p }}: {{ info.type }}, {% endif %}
{% endfor %}

*,

{% if api.body %}
  body{% if not api.body.required %}: Optional[Any]=...{% else %}: Any{% endif %},
{% endif %}

{% for p, info in api.all_parts.items() %}
  {% if not info.required %}{{ p }}: Optional[{{ info.type }}]=..., {% endif %}
{% endfor %}

{% for p in api.query_params %}
  {{ p }}: Optional[Any]=...,
{% endfor %}

{% for p, p_type in global_query_params.items() %}
  {% if p not in api.all_func_params %}
  {{ p }}: {{ p_type }}=...,
  {% endif %}
{% endfor %}

params: Optional[MutableMapping[str, Any]]=...,
headers: Optional[MutableMapping[str, str]]=...
