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

from __future__ import annotations
from moovio_sdk.types import BaseModel
import pydantic
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class CardAddressTypedDict(TypedDict):
    postal_code: str
    address_line1: NotRequired[str]
    address_line2: NotRequired[str]
    city: NotRequired[str]
    state_or_province: NotRequired[str]
    country: NotRequired[str]


class CardAddress(BaseModel):
    postal_code: Annotated[str, pydantic.Field(alias="postalCode")]

    address_line1: Annotated[Optional[str], pydantic.Field(alias="addressLine1")] = None

    address_line2: Annotated[Optional[str], pydantic.Field(alias="addressLine2")] = None

    city: Optional[str] = None

    state_or_province: Annotated[
        Optional[str], pydantic.Field(alias="stateOrProvince")
    ] = None

    country: Optional[str] = None
