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

from __future__ import annotations

from enum import Enum
from typing import Any

from pydantic import BaseModel, RootModel


class Model(RootModel[Any]):
    root: Any


class Datum(BaseModel):
    keyA: str | None = None


class ObjectA(BaseModel):
    data: list[Datum] | None = None


class Datum1(BaseModel):
    keyB: str | None = None


class ObjectB(BaseModel):
    data: list[Datum1] | None = None


class KeyC(BaseModel):
    nestedA: str | None = None


class KeyC1(BaseModel):
    nestedB: str | None = None


class ObjectC(BaseModel):
    keyC: KeyC | KeyC1 | None = None


class KeyCItem(BaseModel):
    nestedA: str | None = None


class KeyCItem1(BaseModel):
    nestedB: str | None = None


class KeyCEnum(Enum):
    dog = 'dog'
    cat = 'cat'
    snake = 'snake'


class KeyCEnum1(Enum):
    orange = 'orange'
    apple = 'apple'
    milk = 'milk'


class ObjectD(BaseModel):
    keyC: list[KeyCItem | KeyCItem1 | KeyCEnum | KeyCEnum1] | None = None
