"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.ProductSearchResult = void 0;

var _propTypes = _interopRequireDefault(require("prop-types"));

var _image = require("./image");

var _variationProperty = require("./variation-property");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */

/* Copyright (c) 2018 Mobify Research & Development Inc. All rights reserved. */

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
var ProductSearchResult = {
  available: _propTypes["default"].bool.isRequired,
  productId: _propTypes["default"].string.isRequired,
  productName: _propTypes["default"].string.isRequired,
  price: _propTypes["default"].number.isRequired,
  rating: _propTypes["default"].number,
  defaultImage: _propTypes["default"].shape(_image.Image).isRequired,
  variationProperties: _propTypes["default"].arrayOf(_propTypes["default"].shape(_variationProperty.VariationProperty))
  /**
   * @memberOf module:@mobify/commerce-integrations/dist/types
   * @typedef {Object} ProductSearchResult
   * @property {Boolean} available Whether the product is available for order.
   * @property {String} productId The product id.
   * @property {String} productName The product name.
   * @property {Number} price The product price.
   * @property {Number} rating The product rating.
   * @property {module:@mobify/commerce-integrations/dist/types.Image} defaultImage The product main image.
   * @property {Array.<module:@mobify/commerce-integrations/dist/types.VariationProperty>} variationProperties The product variations.
   */

};
exports.ProductSearchResult = ProductSearchResult;