"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

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

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

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

var _phoneNumber = require("./phone-number");

var _email = require("./email");

var _postalCode = require("./postal-code");

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

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

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
const Store = {
  addressLine1: _propTypes.default.string.isRequired,
  addressLine2: _propTypes.default.string,
  city: _propTypes.default.string.isRequired,
  country: _propTypes.default.string.isRequired,
  description: _propTypes.default.string,
  features: _propTypes.default.array,
  email: _email.Email,
  id: _propTypes.default.string.isRequired,
  name: _propTypes.default.string.isRequired,
  phone: _phoneNumber.PhoneNumber,
  postalCode: _postalCode.PostalCode,
  hours: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.objectOf(_propTypes.default.shape({
    openingTime: _propTypes.default.string,
    closingTime: _propTypes.default.string
  }))]),
  images: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.shape(_image.Image)), _propTypes.default.shape(_image.Image)])
  /**
   * @memberOf module:@mobify/commerce-integrations/dist/types
   * @typedef {Object} Store
   * @property {String} addressLine1 The store address.
   * @property {String} addressLine2 A secondary store address.
   * @property {String} city The city where the store is located.
   * @property {String} country The country where the store is located.
   * @property {String} description The store description.
   * @property {String} features The various features of a store.
   * @property {String} email The store email.
   * @property {String} id The store unique identifier.
   * @property {String} name The store name.
   * @property {String} phone The store phone number.
   * @property {String} postalCode The store postal code.
   * @property {String} hours The store hours.
   * @property {String} images The store logo.
   */

};
exports.Store = Store;