# generated by datamodel-codegen:
#   filename:  api_ordered_required_fields.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, field


class Pet(Struct):
    id: int
    name: str
    before_tag: str = field(name='beforeTag')
    tag: str | UnsetType = UNSET


Pets: TypeAlias = list[Pet]


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


Users: TypeAlias = list[User]


Id: TypeAlias = str


Rules: TypeAlias = list[str]


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


class Api(Struct):
    api_key: (
        Annotated[str, Meta(description='To be used as a dataset parameter value')]
        | UnsetType
    ) = field(name='apiKey', default=UNSET)
    api_version_number: (
        Annotated[str, Meta(description='To be used as a version parameter value')]
        | UnsetType
    ) = field(name='apiVersionNumber', default=UNSET)
    api_url: (
        Annotated[str, Meta(description="The URL describing the dataset's fields")]
        | UnsetType
    ) = field(name='apiUrl', default=UNSET)
    api_documentation_url: (
        Annotated[str, Meta(description='A URL to the API console for each API')]
        | UnsetType
    ) = field(name='apiDocumentationUrl', default=UNSET)


Apis: TypeAlias = list[Api]


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


class Result(Struct):
    event: Event | UnsetType = UNSET
