"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from anncsu.common.types import BaseModel
from anncsu.common.utils import FieldMetadata, QueryParamMetadata
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class ElencoOdonimiGetQueryParamRequestTypedDict(TypedDict):
    codcom: str
    r"""Codice Belfiore del comune dell'odonimo"""
    denomparz: str
    r"""Denominazione anche parziale dell'odonimo - base64 encoded"""


class ElencoOdonimiGetQueryParamRequest(BaseModel):
    codcom: Annotated[
        str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
    ]
    r"""Codice Belfiore del comune dell'odonimo"""

    denomparz: Annotated[
        str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
    ]
    r"""Denominazione anche parziale dell'odonimo - base64 encoded"""


class ElencoOdonimiGetQueryParamDataTypedDict(TypedDict):
    dug: NotRequired[str]
    denomuff: NotRequired[str]
    denomloc: NotRequired[str]
    denomlingua1: NotRequired[str]
    denomlingua2: NotRequired[str]


class ElencoOdonimiGetQueryParamData(BaseModel):
    dug: Optional[str] = None

    denomuff: Optional[str] = None

    denomloc: Optional[str] = None

    denomlingua1: Optional[str] = None

    denomlingua2: Optional[str] = None


class ElencoOdonimiGetQueryParamResponseTypedDict(TypedDict):
    r"""Successful operation"""

    res: NotRequired[str]
    data: NotRequired[List[ElencoOdonimiGetQueryParamDataTypedDict]]


class ElencoOdonimiGetQueryParamResponse(BaseModel):
    r"""Successful operation"""

    res: Optional[str] = None

    data: Optional[List[ElencoOdonimiGetQueryParamData]] = None
