import PropTypes from 'prop-types'; const T = {}; T['com.shopr.api.clickouts.api.v0.models.error_code'] = PropTypes.exact({ code: PropTypes.string.isRequired, localized_string_code: PropTypes.string.isRequired, }); T['com.shopr.api.clickouts.api.v0.models.error_response'] = PropTypes.exact({ message: PropTypes.string, error_codes: PropTypes.arrayOf(T['com.shopr.api.clickouts.api.v0.models.error_code']).isRequired, fingerprint: PropTypes.string, }); T['com.shopr.api.clickouts.api.v0.enums.client_origin'] = PropTypes.oneOf([ 'shopr_website', 'shopr_mobile_web', 'shopr_iphone', 'shopr_ipad', 'shopr_android', ]); T['com.shopr.api.clickouts.api.v0.models.tracking'] = PropTypes.exact({ ipAddress: PropTypes.string.isRequired, origin: T['com.shopr.api.clickouts.api.v0.enums.client_origin'].isRequired, userAgent: PropTypes.string, referrer: PropTypes.string, }); T['com.shopr.api.clickouts.api.v0.models.clickout'] = PropTypes.exact({ productId: PropTypes.string.isRequired, seller: PropTypes.string.isRequired, sellerProductId: PropTypes.string.isRequired, price: PropTypes.number.isRequired, deepUrl: PropTypes.string.isRequired, lowestPrice: PropTypes.number.isRequired, highestPrice: PropTypes.number.isRequired, offerCount: PropTypes.number.isRequired, offerPosition: PropTypes.number.isRequired, categoryId: PropTypes.string.isRequired, tracking: T['com.shopr.api.clickouts.api.v0.models.tracking'].isRequired, creationTime: PropTypes.string.isRequired, }); T['com.shopr.api.clickouts.api.v0.models.status'] = PropTypes.exact({ response: PropTypes.string.isRequired, }); export const clickout = T['com.shopr.api.clickouts.api.v0.models.clickout']; export const clientOrigin = T['com.shopr.api.clickouts.api.v0.enums.client_origin']; export const errorCode = T['com.shopr.api.clickouts.api.v0.models.error_code']; export const errorResponse = T['com.shopr.api.clickouts.api.v0.models.error_response']; export const status = T['com.shopr.api.clickouts.api.v0.models.status']; export const tracking = T['com.shopr.api.clickouts.api.v0.models.tracking'];