(function(root, factory) {

if (typeof module === 'object' && module.exports) {
    // CommonJS-like environments that support module.exports, like Node.
    module.exports = factory(require('../ApiClient'), require('./InvocationContext'), require('../CommonUtil'), require('../ResponseWrapper'), require('./Base'), require('../OrbipayApiError'));
  }
}(this, function(ApiClient, InvocationContext, CommonUtil, ResponseWrapper, Base, OrbipayApiError) {
  'use strict';

    /**
    * The AuditInfo wrapper module.
    * @module wrappers/AuditInfo
    */
  var exports = function() {

  };
  exports.constructFromObject = function (data, obj) {
        if (data) {
            obj = obj || new exports();
            if (data.hasOwnProperty('created')) {
                var ResourceAudit = require('./ResourceAudit');
                obj['created'] = ResourceAudit.constructFromObject(data['created']);
            }
            if (data.hasOwnProperty('last_modified')) {
                var ResourceAudit = require('./ResourceAudit');
                obj['last_modified'] = ResourceAudit.constructFromObject(data['last_modified']);
            }
        }
        return obj;
  };


  exports.prototype = Object.create(Base.prototype);
  exports.prototype.constructor = exports;

    /**
    * @member {ResourceAudit} created
    */
  exports.prototype['created'] = undefined;
    /**
    * @member {ResourceAudit} last_modified
    */
  exports.prototype['last_modified'] = undefined;




  return exports;

}));