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

from __future__ import annotations
import dataclasses
from dataclasses_json import Undefined, dataclass_json
from orb import utils
from typing import Optional, Union



@dataclasses.dataclass
class TierFirstUnit:
    pass



@dataclasses.dataclass
class TierLastUnit:
    pass


@dataclass_json(undefined=Undefined.EXCLUDE)

@dataclasses.dataclass
class Tier:
    first_unit: Union[float, str] = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('first_unit') }})
    r"""Inclusive tier starting value"""
    unit_amount: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('unit_amount') }})
    r"""Amount per unit"""
    last_unit: Optional[Union[float, str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('last_unit') }})
    r"""Exclusive tier ending value. If null, this is treated as the last tier"""
    

