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

from __future__ import annotations
from moovio_sdk.models.components import receiptresponse as components_receiptresponse
from moovio_sdk.types import BaseModel
from moovio_sdk.utils import FieldMetadata, QueryParamMetadata
from typing import Dict, List
from typing_extensions import Annotated, TypedDict


class ListReceiptsRequestTypedDict(TypedDict):
    id: str
    r"""The transfer, schedule, or transfer occurrence ID to filter receipts by."""


class ListReceiptsRequest(BaseModel):
    id: Annotated[
        str, FieldMetadata(query=QueryParamMetadata(style="form", explode=False))
    ]
    r"""The transfer, schedule, or transfer occurrence ID to filter receipts by."""


class ListReceiptsResponseTypedDict(TypedDict):
    headers: Dict[str, List[str]]
    result: List[components_receiptresponse.ReceiptResponseTypedDict]


class ListReceiptsResponse(BaseModel):
    headers: Dict[str, List[str]]

    result: List[components_receiptresponse.ReceiptResponse]
