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

from __future__ import annotations

from typing import Annotated

from msgspec import Meta, Struct, UnsetType


class Type1(Struct, omit_defaults=True, kw_only=True, tag_field='type_', tag='a'):
    pass


class Type2(Struct, omit_defaults=True, kw_only=True, tag_field='type_', tag='b'):
    pass


class UnrelatedType(Struct, omit_defaults=True, kw_only=True):
    info: Annotated[str, Meta(title='A way to check for side effects')] | UnsetType = (
        'Unrelated type, not involved in the discriminated union'
    )


class Response(Struct, omit_defaults=True, kw_only=True):
    inner: Annotated[Type1 | Type2, Meta(title='Inner')]
