"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""

from __future__ import annotations
import dataclasses
from ..shared import bpsprice as shared_bpsprice
from ..shared import bulkbpsprice as shared_bulkbpsprice
from ..shared import bulkprice as shared_bulkprice
from ..shared import fivetranexampleprice as shared_fivetranexampleprice
from ..shared import matrixprice as shared_matrixprice
from ..shared import packageprice as shared_packageprice
from ..shared import packagewithallocationprice as shared_packagewithallocationprice
from ..shared import paginationmetadata as shared_paginationmetadata
from ..shared import testratingfunctionprice as shared_testratingfunctionprice
from ..shared import thresholdtotalamountprice as shared_thresholdtotalamountprice
from ..shared import tieredbpsprice as shared_tieredbpsprice
from ..shared import tieredpackageprice as shared_tieredpackageprice
from ..shared import tieredprice as shared_tieredprice
from ..shared import tieredwithminimumprice as shared_tieredwithminimumprice
from ..shared import unitprice as shared_unitprice
from dataclasses_json import Undefined, dataclass_json
from orb import utils
from typing import Union


@dataclass_json(undefined=Undefined.EXCLUDE)

@dataclasses.dataclass
class Prices:
    data: list[Union[shared_unitprice.UnitPrice, shared_packageprice.PackagePrice, shared_matrixprice.MatrixPrice, shared_tieredprice.TieredPrice, shared_tieredbpsprice.TieredBpsPrice, shared_bpsprice.BpsPrice, shared_bulkbpsprice.BulkBpsPrice, shared_bulkprice.BulkPrice, shared_testratingfunctionprice.TestRatingFunctionPrice, shared_fivetranexampleprice.FivetranExamplePrice, shared_thresholdtotalamountprice.ThresholdTotalAmountPrice, shared_tieredpackageprice.TieredPackagePrice, shared_tieredwithminimumprice.TieredWithMinimumPrice, shared_packagewithallocationprice.PackageWithAllocationPrice]] = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('data') }})
    pagination_metadata: shared_paginationmetadata.PaginationMetadata = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pagination_metadata') }})
    

