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

from __future__ import annotations

from pydantic import BaseModel, Field, RootModel


class BaseThing(BaseModel):
    id: str


class ConcreteThing(BaseThing):
    label: str


class NamedThing(RootModel[BaseThing]):
    root: BaseThing = Field(..., title='NamedThing')


class Thing(RootModel[BaseThing]):
    root: BaseThing = Field(..., title='Thing')


class Document(BaseModel):
    thing: ConcreteThing
    namedThing: ConcreteThing | None = None
