# generated by datamodel-codegen:
#   filename:  allof_with_required_inherited_nested_object.yaml
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from typing import Any

from pydantic import BaseModel


class Address(BaseModel):
    street: str | None = None
    city: str | None = None


class ContactInfo(BaseModel):
    email: str | None = None
    phone: str | None = None


class ProjectedPerson(BaseModel):
    id: int | None = None
    name: str | None = None
    address: Address | None = None
    metadata: dict[str, str] | None = None
    contact: ContactInfo | None = None
    tags: list[str] | None = None
    priority: int | str | None = None


class Person(ProjectedPerson):
    nickname: str | None = None
    id: int
    name: str
    address: dict[str, Any]
    metadata: dict[str, str]
    contact: ContactInfo
    tags: list[str]
    priority: int | str
