# generated by datamodel-codegen:
#   filename:  additional_properties_value_constraints_annotated.json

from __future__ import annotations

from typing import Annotated, Any, TypeAlias

from msgspec import Meta, Struct

NestedMapAdditionalProperty: TypeAlias = Annotated[int, Meta(ge=1, le=9)]


TitledMapAdditionalProperty: TypeAlias = Annotated[int, Meta(ge=1, le=9)]


TitledMap: TypeAlias = Annotated[
    dict[str, TitledMapAdditionalProperty], Meta(title='TitledMap')
]


TitledRefMapAdditionalProperty: TypeAlias = Annotated[int, Meta(ge=1, le=9)]


LocalTitleRefMapAdditionalProperty: TypeAlias = Annotated[
    int, Meta(ge=1, le=9, title='LocalValue')
]


NamedMapAdditionalProperty: TypeAlias = Annotated[int, Meta(ge=1, le=9)]


NullableValueMapAdditionalProperty: TypeAlias = Annotated[int, Meta(ge=1, le=9)] | None


ClosedArrayValueMapAdditionalProperty: TypeAlias = Annotated[
    list[Any], Meta(max_length=0)
]


AllOfValueMap: TypeAlias = Annotated[int, Meta(ge=1, le=9)]


TitledAllOfValueMap: TypeAlias = Annotated[
    int, Meta(ge=1, le=9, title='TitledPositiveInt')
]


NullableAllOfValueMap: TypeAlias = Annotated[int, Meta(ge=1, le=9)] | None


UnionValueMap: TypeAlias = Annotated[int, Meta(ge=1, le=9)]


UnionValueMap1: TypeAlias = Annotated[str, Meta(max_length=4, min_length=2)]


ObjectValueMapAdditionalProperty: TypeAlias = Annotated[
    dict[str, str], Meta(min_length=1)
]


class ModeledValueMap(Struct):
    value: Annotated[int, Meta(ge=1)]


NamedValue: TypeAlias = Annotated[int, Meta(ge=1, le=9, title='NamedValue')]


class ModeledIrrelevantConstraintMap(Struct):
    value: str


PositiveInt: TypeAlias = Annotated[int, Meta(ge=1)]


TitledPositiveInt: TypeAlias = Annotated[int, Meta(ge=1, title='TitledPositiveInt')]


LocalValue: TypeAlias = Annotated[str, Meta(title='LocalValue')]


RootMapAdditionalProperty: TypeAlias = Annotated[int, Meta(ge=1, le=9)]


RootMap: TypeAlias = Annotated[
    dict[str, RootMapAdditionalProperty], Meta(max_length=2, min_length=1)
]


class Payload(Struct):
    existingLocalValue: LocalValue
    nestedMap: dict[str, NestedMapAdditionalProperty]
    titledMap: Annotated[TitledMap, Meta(title='TitledMap')]
    titledRefMap: dict[str, TitledRefMapAdditionalProperty]
    localTitleRefMap: dict[str, LocalTitleRefMapAdditionalProperty]
    namedMap: dict[str, NamedMapAdditionalProperty]
    rootMap: RootMap
    nullableValueMap: dict[str, NullableValueMapAdditionalProperty]
    closedArrayValueMap: dict[str, ClosedArrayValueMapAdditionalProperty]
    allOfValueMap: dict[str, AllOfValueMap]
    titledAllOfValueMap: dict[str, TitledAllOfValueMap]
    nullableAllOfValueMap: dict[str, NullableAllOfValueMap]
    unionValueMap: dict[str, UnionValueMap | UnionValueMap1]
    objectValueMap: dict[str, ObjectValueMapAdditionalProperty]
    modeledValueMap: dict[str, ModeledValueMap]
    titledValueMap: dict[str, NamedValue]
    modeledIrrelevantConstraintMap: dict[str, ModeledIrrelevantConstraintMap]
    arrayIrrelevantConstraintMap: dict[str, list[int]]
    heterogeneousValueMap: dict[str, int | str]
    booleanIrrelevantConstraintMap: dict[str, bool]
