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

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


class WebhookDataNetworkIDUpdatedTypedDict(TypedDict):
    account_id: str
    visa_mid: NotRequired[str]
    mastercard_mid: NotRequired[str]
    discover_mid: NotRequired[str]
    amex_mid: NotRequired[str]
    updated_on: NotRequired[datetime]


class WebhookDataNetworkIDUpdated(BaseModel):
    account_id: Annotated[str, pydantic.Field(alias="accountID")]

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

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

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

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

    updated_on: Annotated[Optional[datetime], pydantic.Field(alias="updatedOn")] = None
