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

from __future__ import annotations
from .lineitem import LineItem, LineItemTypedDict
from .lineitemssummary import LineItemsSummary, LineItemsSummaryTypedDict
from paygentic_sdk.types import BaseModel
import pydantic
from typing import List, Literal
from typing_extensions import Annotated, TypedDict


LineItemsResponseObject = Literal["list",]
r"""The object type"""


class LineItemsResponseTypedDict(TypedDict):
    object: LineItemsResponseObject
    r"""The object type"""
    data: List[LineItemTypedDict]
    r"""Array of line items"""
    total_count: int
    r"""Total number of matching line items"""
    summary: LineItemsSummaryTypedDict


class LineItemsResponse(BaseModel):
    object: LineItemsResponseObject
    r"""The object type"""

    data: List[LineItem]
    r"""Array of line items"""

    total_count: Annotated[int, pydantic.Field(alias="totalCount")]
    r"""Total number of matching line items"""

    summary: LineItemsSummary


try:
    LineItemsResponse.model_rebuild()
except NameError:
    pass
