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

from __future__ import annotations
import dataclasses
import requests as requests_http
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 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 typing import Optional, Union



@dataclasses.dataclass
class FetchPriceRequest:
    price_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'price_id', 'style': 'simple', 'explode': False }})
    




@dataclasses.dataclass
class FetchPriceResponse:
    content_type: str = dataclasses.field()
    r"""HTTP response content type for this operation"""
    status_code: int = dataclasses.field()
    r"""HTTP response status code for this operation"""
    price: Optional[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(default=None)
    r"""OK"""
    raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
    r"""Raw HTTP response; suitable for custom response parsing"""
    

