# This file was auto-generated by Fern from our API Definition.

from __future__ import annotations
import typing
from .catalog_object_image import CatalogObjectImage
from .catalog_object_category import CatalogObjectCategory
from .catalog_object_item_variation import CatalogObjectItemVariation
from .catalog_object_tax import CatalogObjectTax
from .catalog_object_discount import CatalogObjectDiscount
from .catalog_object_modifier import CatalogObjectModifier
from .catalog_object_pricing_rule import CatalogObjectPricingRule
from .catalog_object_product_set import CatalogObjectProductSet
from .catalog_object_time_period import CatalogObjectTimePeriod
from .catalog_object_measurement_unit import CatalogObjectMeasurementUnit
from .catalog_object_subscription_plan_variation import CatalogObjectSubscriptionPlanVariation
from .catalog_object_item_option_value import CatalogObjectItemOptionValue
from .catalog_object_custom_attribute_definition import CatalogObjectCustomAttributeDefinition
from .catalog_object_quick_amounts_settings import CatalogObjectQuickAmountsSettings
from .catalog_object_availability_period import CatalogObjectAvailabilityPeriod
import typing

if typing.TYPE_CHECKING:
    from .catalog_object_item import CatalogObjectItem
    from .catalog_object_modifier_list import CatalogObjectModifierList
    from .catalog_object_item_option import CatalogObjectItemOption
    from .catalog_object_subscription_plan import CatalogObjectSubscriptionPlan
CatalogObject = typing.Union[
    "CatalogObjectItem",
    CatalogObjectImage,
    CatalogObjectCategory,
    CatalogObjectItemVariation,
    CatalogObjectTax,
    CatalogObjectDiscount,
    "CatalogObjectModifierList",
    CatalogObjectModifier,
    CatalogObjectPricingRule,
    CatalogObjectProductSet,
    CatalogObjectTimePeriod,
    CatalogObjectMeasurementUnit,
    CatalogObjectSubscriptionPlanVariation,
    "CatalogObjectItemOption",
    CatalogObjectItemOptionValue,
    CatalogObjectCustomAttributeDefinition,
    CatalogObjectQuickAmountsSettings,
    "CatalogObjectSubscriptionPlan",
    CatalogObjectAvailabilityPeriod,
]
