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

from __future__ import annotations

from typing import Annotated, TypeAlias

from msgspec import UNSET, Meta, Struct, UnsetType


class Pet(Struct):
    id: int
    name: str
    tag: str | UnsetType = UNSET


class Car(Struct):
    id: int
    name: str
    tag: str | UnsetType = UNSET


class AnyOfItem1(Struct):
    name: str | UnsetType = UNSET


AnyOfItem2: TypeAlias = Annotated[str, Meta(max_length=5000)]


AnyOfItem: TypeAlias = Pet | Car | AnyOfItem1 | AnyOfItem2


class Item(Struct):
    name: str | UnsetType = UNSET


Item1: TypeAlias = Annotated[str, Meta(max_length=5000)]


class AnyOfobj(Struct):
    item: Pet | Car | Item | Item1 | UnsetType = UNSET


class AnyOfArray1(Struct):
    name: str | UnsetType = UNSET
    birthday: str | UnsetType = UNSET


AnyOfArray2: TypeAlias = Annotated[str, Meta(max_length=5000)]


AnyOfArray: TypeAlias = list[Pet | Car | AnyOfArray1 | AnyOfArray2]


class Error(Struct):
    code: int
    message: str


class Config(Struct):
    setting: dict[str, str | list[str]] | UnsetType = UNSET
