import type * as Square from "../index"; /** * The wrapper object for the catalog entries of a given object type. * * Depending on the `type` attribute value, a `CatalogObject` instance assumes a type-specific data to yield the corresponding type of catalog object. * * For example, if `type=ITEM`, the `CatalogObject` instance must have the ITEM-specific data set on the `item_data` attribute. The resulting `CatalogObject` instance is also a `CatalogItem` instance. * * In general, if `type=`, the `CatalogObject` instance must have the ``-specific data set on the `_data` attribute. The resulting `CatalogObject` instance is also a `Catalog` instance. * * For a more detailed discussion of the Catalog data model, please see the * [Design a Catalog](https://developer.squareup.com/docs/catalog-api/design-a-catalog) guide. */ export type CatalogObject = Square.CatalogObject.Item | Square.CatalogObject.Image | Square.CatalogObject.Category | Square.CatalogObject.ItemVariation | Square.CatalogObject.Tax | Square.CatalogObject.Discount | Square.CatalogObject.ModifierList | Square.CatalogObject.Modifier | Square.CatalogObject.PricingRule | Square.CatalogObject.ProductSet | Square.CatalogObject.TimePeriod | Square.CatalogObject.MeasurementUnit | Square.CatalogObject.SubscriptionPlanVariation | Square.CatalogObject.ItemOption | Square.CatalogObject.ItemOptionVal | Square.CatalogObject.CustomAttributeDefinition | Square.CatalogObject.QuickAmountsSettings | Square.CatalogObject.SubscriptionPlan | Square.CatalogObject.AvailabilityPeriod; export declare namespace CatalogObject { interface Item extends Square.CatalogObjectItem { type: "ITEM"; } interface Image extends Square.CatalogObjectImage { type: "IMAGE"; } interface Category extends Square.CatalogObjectCategory { type: "CATEGORY"; } interface ItemVariation extends Square.CatalogObjectItemVariation { type: "ITEM_VARIATION"; } interface Tax extends Square.CatalogObjectTax { type: "TAX"; } interface Discount extends Square.CatalogObjectDiscount { type: "DISCOUNT"; } interface ModifierList extends Square.CatalogObjectModifierList { type: "MODIFIER_LIST"; } interface Modifier extends Square.CatalogObjectModifier { type: "MODIFIER"; } interface PricingRule extends Square.CatalogObjectPricingRule { type: "PRICING_RULE"; } interface ProductSet extends Square.CatalogObjectProductSet { type: "PRODUCT_SET"; } interface TimePeriod extends Square.CatalogObjectTimePeriod { type: "TIME_PERIOD"; } interface MeasurementUnit extends Square.CatalogObjectMeasurementUnit { type: "MEASUREMENT_UNIT"; } interface SubscriptionPlanVariation extends Square.CatalogObjectSubscriptionPlanVariation { type: "SUBSCRIPTION_PLAN_VARIATION"; } interface ItemOption extends Square.CatalogObjectItemOption { type: "ITEM_OPTION"; } interface ItemOptionVal extends Square.CatalogObjectItemOptionValue { type: "ITEM_OPTION_VAL"; } interface CustomAttributeDefinition extends Square.CatalogObjectCustomAttributeDefinition { type: "CUSTOM_ATTRIBUTE_DEFINITION"; } interface QuickAmountsSettings extends Square.CatalogObjectQuickAmountsSettings { type: "QUICK_AMOUNTS_SETTINGS"; } interface SubscriptionPlan extends Square.CatalogObjectSubscriptionPlan { type: "SUBSCRIPTION_PLAN"; } interface AvailabilityPeriod extends Square.CatalogObjectAvailabilityPeriod { type: "AVAILABILITY_PERIOD"; } /** * The wrapper object for the catalog entries of a given object type. * * Depending on the `type` attribute value, a `CatalogObject` instance assumes a type-specific data to yield the corresponding type of catalog object. * * For example, if `type=ITEM`, the `CatalogObject` instance must have the ITEM-specific data set on the `item_data` attribute. The resulting `CatalogObject` instance is also a `CatalogItem` instance. * * In general, if `type=`, the `CatalogObject` instance must have the ``-specific data set on the `_data` attribute. The resulting `CatalogObject` instance is also a `Catalog` instance. * * For a more detailed discussion of the Catalog data model, please see the * [Design a Catalog](https://developer.squareup.com/docs/catalog-api/design-a-catalog) guide. */ type Request = Square.CatalogObject.Item | Square.CatalogObject.Image | Square.CatalogObject.Category | Square.CatalogObject.ItemVariation | Square.CatalogObject.Tax | Square.CatalogObject.Discount | Square.CatalogObject.ModifierList | Square.CatalogObject.Modifier | Square.CatalogObject.PricingRule | Square.CatalogObject.ProductSet | Square.CatalogObject.TimePeriod | Square.CatalogObject.MeasurementUnit | Square.CatalogObject.SubscriptionPlanVariation | Square.CatalogObject.ItemOption | Square.CatalogObject.ItemOptionVal | Square.CatalogObject.CustomAttributeDefinition | Square.CatalogObject.QuickAmountsSettings | Square.CatalogObject.SubscriptionPlan | Square.CatalogObject.AvailabilityPeriod; }