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

from __future__ import annotations

from typing import Any, Literal

from pydantic import BaseModel, Field, RootModel


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


class First(BaseModel):
    name: str | None = None


class Target3(BaseModel):
    source: Literal['external1'] | None = None


class Target1(BaseModel):
    source: Literal['external2'] | None = None


class Second(BaseModel):
    name: str | None = None


class Target2(BaseModel):
    source: Literal['inline'] | None = None


class Wrapper(BaseModel):
    target: Target2 | None = Field(
        None, description='Inline target in same file - should get suffix'
    )


class Target(BaseModel):
    source: Literal['main'] | None = None


class Combined(First, Target1):
    pass
