"""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, PathParamMetadata
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class ElencoAccessiGetPathParamRequestTypedDict(TypedDict):
    codcom: str
    r"""Codice Belfiore del comune dell'odonimo"""
    denom: str
    r"""Denominazione esatta dell'odonimo - base64 encoded"""
    accparz: str
    r"""valore anche parziale del civico(+eventuale esponente e/o specificit�) oppure metrico"""


class ElencoAccessiGetPathParamRequest(BaseModel):
    codcom: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]
    r"""Codice Belfiore del comune dell'odonimo"""

    denom: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]
    r"""Denominazione esatta dell'odonimo - base64 encoded"""

    accparz: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]
    r"""valore anche parziale del civico(+eventuale esponente e/o specificit�) oppure metrico"""


class ElencoAccessiGetPathParamDataTypedDict(TypedDict):
    civico: NotRequired[str]
    esp: NotRequired[str]
    specif: NotRequired[str]
    metrico: NotRequired[str]


class ElencoAccessiGetPathParamData(BaseModel):
    civico: Optional[str] = None

    esp: Optional[str] = None

    specif: Optional[str] = None

    metrico: Optional[str] = None


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

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


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

    res: Optional[str] = None

    data: Optional[List[ElencoAccessiGetPathParamData]] = None
