/**
 * Custom attributes for Campaign object.
 */
declare class CampaignCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Promotion object.
 */
declare class PromotionCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for SourceCodeGroup object.
 */
declare class SourceCodeGroupCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Catalog object.
 */
declare class CatalogCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Category object.
 */
declare class CategoryCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for CategoryAssignment object.
 */
declare class CategoryAssignmentCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for PriceBook object.
 */
declare class PriceBookCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Product object.
 */
declare class ProductCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductActiveData object.
 */
declare class ProductActiveDataCustomAttributes extends ActiveDataCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductInventoryList object.
 */
declare class ProductInventoryListCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductInventoryRecord object.
 */
declare class ProductInventoryRecordCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductOption object.
 */
declare class ProductOptionCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductOptionValue object.
 */
declare class ProductOptionValueCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductSearchRefinementDefinition object.
 */
declare class ProductSearchRefinementDefinitionCustomAttributes extends SearchRefinementDefinitionCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Recommendation object.
 */
declare class RecommendationCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for SearchRefinementDefinition object.
 */
declare class SearchRefinementDefinitionCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Store object.
 */
declare class StoreCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for StoreGroup object.
 */
declare class StoreGroupCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Variant object.
 */
declare class VariantCustomAttributes extends ProductCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for VariationGroup object.
 */
declare class VariationGroupCustomAttributes extends ProductCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Content object.
 */
declare class ContentCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ContentSearchRefinementDefinition object.
 */
declare class ContentSearchRefinementDefinitionCustomAttributes extends SearchRefinementDefinitionCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Folder object.
 */
declare class FolderCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Library object.
 */
declare class LibraryCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for CustomerActiveData object.
 */
declare class CustomerActiveDataCustomAttributes extends ActiveDataCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for CustomerAddress object.
 */
declare class CustomerAddressCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for CustomerGroup object.
 */
declare class CustomerGroupCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for CustomerPaymentInstrument object.
 */
declare class CustomerPaymentInstrumentCustomAttributes extends PaymentInstrumentCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for EncryptedObject object.
 */
declare class EncryptedObjectCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductList object.
 */
declare class ProductListCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductListItem object.
 */
declare class ProductListItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductListItemPurchase object.
 */
declare class ProductListItemPurchaseCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductListRegistrant object.
 */
declare class ProductListRegistrantCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Profile object.
 */
declare class ProfileCustomAttributes extends EncryptedObjectCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ActiveData object.
 */
declare class ActiveDataCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for CustomObject object.
 */
declare class CustomObjectCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for AbstractItem object.
 */
declare class AbstractItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for AbstractItemCtnr object.
 */
declare class AbstractItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Appeasement object.
 */
declare class AppeasementCustomAttributes extends AbstractItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for AppeasementItem object.
 */
declare class AppeasementItemCustomAttributes extends AbstractItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Basket object.
 */
declare class BasketCustomAttributes extends LineItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for BonusDiscountLineItem object.
 */
declare class BonusDiscountLineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for CouponLineItem object.
 */
declare class CouponLineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for GiftCertificate object.
 */
declare class GiftCertificateCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for GiftCertificateLineItem object.
 */
declare class GiftCertificateLineItemCustomAttributes extends LineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Invoice object.
 */
declare class InvoiceCustomAttributes extends AbstractItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for InvoiceItem object.
 */
declare class InvoiceItemCustomAttributes extends AbstractItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for LineItem object.
 */
declare class LineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for LineItemCtnr object.
 */
declare class LineItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Order object.
 */
declare class OrderCustomAttributes extends LineItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for OrderAddress object.
 */
declare class OrderAddressCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for OrderPaymentInstrument object.
 */
declare class OrderPaymentInstrumentCustomAttributes extends PaymentInstrumentCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for PaymentCard object.
 */
declare class PaymentCardCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for PaymentInstrument object.
 */
declare class PaymentInstrumentCustomAttributes extends EncryptedObjectCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for PaymentMethod object.
 */
declare class PaymentMethodCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for PaymentProcessor object.
 */
declare class PaymentProcessorCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for PaymentTransaction object.
 */
declare class PaymentTransactionCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for PriceAdjustment object.
 */
declare class PriceAdjustmentCustomAttributes extends LineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductLineItem object.
 */
declare class ProductLineItemCustomAttributes extends LineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ProductShippingLineItem object.
 */
declare class ProductShippingLineItemCustomAttributes extends LineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Return object.
 */
declare class ReturnCustomAttributes extends AbstractItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ReturnCase object.
 */
declare class ReturnCaseCustomAttributes extends AbstractItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ReturnCaseItem object.
 */
declare class ReturnCaseItemCustomAttributes extends AbstractItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ReturnItem object.
 */
declare class ReturnItemCustomAttributes extends AbstractItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Shipment object.
 */
declare class ShipmentCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ShippingLineItem object.
 */
declare class ShippingLineItemCustomAttributes extends LineItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ShippingMethod object.
 */
declare class ShippingMethodCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ShippingOrder object.
 */
declare class ShippingOrderCustomAttributes extends AbstractItemCtnrCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ShippingOrderItem object.
 */
declare class ShippingOrderItemCustomAttributes extends AbstractItemCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for TrackingInfo object.
 */
declare class TrackingInfoCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ServiceConfig object.
 */
declare class ServiceConfigCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ServiceCredential object.
 */
declare class ServiceCredentialCustomAttributes extends EncryptedObjectCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for ServiceProfile object.
 */
declare class ServiceProfileCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for OrganizationPreferences object.
 */
declare class OrganizationPreferencesCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Request object.
 */
declare class RequestCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for Session object.
 */
declare class SessionCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}

/**
 * Custom attributes for SitePreferences object.
 */
declare class SitePreferencesCustomAttributes {
  /**
   * Returns the custom attribute with this name. Throws an exception if attribute is not defined
   */
  [name: string]: any;
}
