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

from __future__ import annotations
from .merchantaccountcreate import MerchantAccountCreate, MerchantAccountCreateTypedDict
from gr4vy.types import BaseModel
from gr4vy.utils import FieldMetadata, QueryParamMetadata, RequestMetadata
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class CreateMerchantAccountRequestTypedDict(TypedDict):
    merchant_account_create: MerchantAccountCreateTypedDict
    timeout_in_seconds: NotRequired[float]


class CreateMerchantAccountRequest(BaseModel):
    merchant_account_create: Annotated[
        MerchantAccountCreate,
        FieldMetadata(request=RequestMetadata(media_type="application/json")),
    ]

    timeout_in_seconds: Annotated[
        Optional[float],
        FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
    ] = 1
