import typing as t
from pydantic import Field
from datetime import datetime

from .common import BaseModel

{% for c in referenced_components -%}
from . {{ c | to_snake_case }} import {{ c | to_upper_camel_case }}
{% endfor %}

class {{ type.name | to_upper_camel_case }}(BaseModel):
{%- if type.description is defined %}
    {{ type.description | to_doc_comment(style="python") | indent(4) }}
{% endif %}
{% include "types/struct_fields.py.jinja" %}
