text: // source: cs3/tx/v1beta1/resources.proto
  /**
   * @fileoverview
   * @enhanceable
   * @suppress {missingRequire} reports error on implicit type usages.
   * @suppress {messageConventions} JS Compiler reports an error if a variable or
   *     field starts with 'MSG_' and isn't a translatable message.
   * @public
   */
  // GENERATED CODE -- DO NOT EDIT!
  /* eslint-disable */
  // @ts-nocheck
  
  var jspb = require('google-protobuf');
  var goog = jspb;
  var global = Function('return this')();
  
  var cs3_identity_user_v1beta1_resources_pb = require('../../../cs3/identity/user/v1beta1/resources_pb.js');
  goog.object.extend(proto, cs3_identity_user_v1beta1_resources_pb);
  var cs3_storage_provider_v1beta1_resources_pb = require('../../../cs3/storage/provider/v1beta1/resources_pb.js');
  goog.object.extend(proto, cs3_storage_provider_v1beta1_resources_pb);
  var cs3_types_v1beta1_types_pb = require('../../../cs3/types/v1beta1/types_pb.js');
  goog.object.extend(proto, cs3_types_v1beta1_types_pb);
  goog.exportSymbol('proto.cs3.tx.v1beta1.TxId', null, global);
  goog.exportSymbol('proto.cs3.tx.v1beta1.TxInfo', null, global);
  goog.exportSymbol('proto.cs3.tx.v1beta1.TxInfo.Status', null, global);
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cs3.tx.v1beta1.TxId = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.cs3.tx.v1beta1.TxId, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cs3.tx.v1beta1.TxId.displayName = 'proto.cs3.tx.v1beta1.TxId';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cs3.tx.v1beta1.TxInfo = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.cs3.tx.v1beta1.TxInfo, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cs3.tx.v1beta1.TxInfo.displayName = 'proto.cs3.tx.v1beta1.TxInfo';
  }
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cs3.tx.v1beta1.TxId.prototype.toObject = function(opt_includeInstance) {
    return proto.cs3.tx.v1beta1.TxId.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cs3.tx.v1beta1.TxId} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cs3.tx.v1beta1.TxId.toObject = function(includeInstance, msg) {
    var f, obj = {
      opaqueId: jspb.Message.getFieldWithDefault(msg, 1, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cs3.tx.v1beta1.TxId}
   */
  proto.cs3.tx.v1beta1.TxId.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cs3.tx.v1beta1.TxId;
    return proto.cs3.tx.v1beta1.TxId.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cs3.tx.v1beta1.TxId} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cs3.tx.v1beta1.TxId}
   */
  proto.cs3.tx.v1beta1.TxId.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {string} */ (reader.readString());
        msg.setOpaqueId(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cs3.tx.v1beta1.TxId.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cs3.tx.v1beta1.TxId.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cs3.tx.v1beta1.TxId} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cs3.tx.v1beta1.TxId.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getOpaqueId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
  };
  
  
  /**
   * optional string opaque_id = 1;
   * @return {string}
   */
  proto.cs3.tx.v1beta1.TxId.prototype.getOpaqueId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cs3.tx.v1beta1.TxId} returns this
   */
  proto.cs3.tx.v1beta1.TxId.prototype.setOpaqueId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.toObject = function(opt_includeInstance) {
    return proto.cs3.tx.v1beta1.TxInfo.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cs3.tx.v1beta1.TxInfo} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cs3.tx.v1beta1.TxInfo.toObject = function(includeInstance, msg) {
    var f, obj = {
      id: (f = msg.getId()) && proto.cs3.tx.v1beta1.TxId.toObject(includeInstance, f),
      ref: (f = msg.getRef()) && cs3_storage_provider_v1beta1_resources_pb.Reference.toObject(includeInstance, f),
      status: jspb.Message.getFieldWithDefault(msg, 3, 0),
      grantee: (f = msg.getGrantee()) && cs3_storage_provider_v1beta1_resources_pb.Grantee.toObject(includeInstance, f),
      creator: (f = msg.getCreator()) && cs3_identity_user_v1beta1_resources_pb.UserId.toObject(includeInstance, f),
      ctime: (f = msg.getCtime()) && cs3_types_v1beta1_types_pb.Timestamp.toObject(includeInstance, f),
      description: jspb.Message.getFieldWithDefault(msg, 7, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cs3.tx.v1beta1.TxInfo}
   */
  proto.cs3.tx.v1beta1.TxInfo.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cs3.tx.v1beta1.TxInfo;
    return proto.cs3.tx.v1beta1.TxInfo.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cs3.tx.v1beta1.TxInfo} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cs3.tx.v1beta1.TxInfo}
   */
  proto.cs3.tx.v1beta1.TxInfo.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.cs3.tx.v1beta1.TxId;
        reader.readMessage(value,proto.cs3.tx.v1beta1.TxId.deserializeBinaryFromReader);
        msg.setId(value);
        break;
      case 2:
        var value = new cs3_storage_provider_v1beta1_resources_pb.Reference;
        reader.readMessage(value,cs3_storage_provider_v1beta1_resources_pb.Reference.deserializeBinaryFromReader);
        msg.setRef(value);
        break;
      case 3:
        var value = /** @type {!proto.cs3.tx.v1beta1.TxInfo.Status} */ (reader.readEnum());
        msg.setStatus(value);
        break;
      case 4:
        var value = new cs3_storage_provider_v1beta1_resources_pb.Grantee;
        reader.readMessage(value,cs3_storage_provider_v1beta1_resources_pb.Grantee.deserializeBinaryFromReader);
        msg.setGrantee(value);
        break;
      case 5:
        var value = new cs3_identity_user_v1beta1_resources_pb.UserId;
        reader.readMessage(value,cs3_identity_user_v1beta1_resources_pb.UserId.deserializeBinaryFromReader);
        msg.setCreator(value);
        break;
      case 6:
        var value = new cs3_types_v1beta1_types_pb.Timestamp;
        reader.readMessage(value,cs3_types_v1beta1_types_pb.Timestamp.deserializeBinaryFromReader);
        msg.setCtime(value);
        break;
      case 7:
        var value = /** @type {string} */ (reader.readString());
        msg.setDescription(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cs3.tx.v1beta1.TxInfo.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cs3.tx.v1beta1.TxInfo} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cs3.tx.v1beta1.TxInfo.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getId();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.cs3.tx.v1beta1.TxId.serializeBinaryToWriter
      );
    }
    f = message.getRef();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        cs3_storage_provider_v1beta1_resources_pb.Reference.serializeBinaryToWriter
      );
    }
    f = message.getStatus();
    if (f !== 0.0) {
      writer.writeEnum(
        3,
        f
      );
    }
    f = message.getGrantee();
    if (f != null) {
      writer.writeMessage(
        4,
        f,
        cs3_storage_provider_v1beta1_resources_pb.Grantee.serializeBinaryToWriter
      );
    }
    f = message.getCreator();
    if (f != null) {
      writer.writeMessage(
        5,
        f,
        cs3_identity_user_v1beta1_resources_pb.UserId.serializeBinaryToWriter
      );
    }
    f = message.getCtime();
    if (f != null) {
      writer.writeMessage(
        6,
        f,
        cs3_types_v1beta1_types_pb.Timestamp.serializeBinaryToWriter
      );
    }
    f = message.getDescription();
    if (f.length > 0) {
      writer.writeString(
        7,
        f
      );
    }
  };
  
  
  /**
   * @enum {number}
   */
  proto.cs3.tx.v1beta1.TxInfo.Status = {
    STATUS_INVALID: 0,
    STATUS_DESTINATION_NOT_FOUND: 1,
    STATUS_TRANSFER_NEW: 2,
    STATUS_TRANSFER_AWAITING_ACCEPTANCE: 3,
    STATUS_TRANSFER_ACCEPTED: 4,
    STATUS_TRANSFER_IN_PROGRESS: 5,
    STATUS_TRANSFER_COMPLETE: 6,
    STATUS_TRANSFER_FAILED: 7,
    STATUS_TRANSFER_CANCELLED: 8,
    STATUS_TRANSFER_CANCEL_FAILED: 9,
    STATUS_TRANSFER_EXPIRED: 10
  };
  
  /**
   * optional TxId id = 1;
   * @return {?proto.cs3.tx.v1beta1.TxId}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.getId = function() {
    return /** @type{?proto.cs3.tx.v1beta1.TxId} */ (
      jspb.Message.getWrapperField(this, proto.cs3.tx.v1beta1.TxId, 1));
  };
  
  
  /**
   * @param {?proto.cs3.tx.v1beta1.TxId|undefined} value
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
  */
  proto.cs3.tx.v1beta1.TxInfo.prototype.setId = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.clearId = function() {
    return this.setId(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.hasId = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional cs3.storage.provider.v1beta1.Reference ref = 2;
   * @return {?proto.cs3.storage.provider.v1beta1.Reference}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.getRef = function() {
    return /** @type{?proto.cs3.storage.provider.v1beta1.Reference} */ (
      jspb.Message.getWrapperField(this, cs3_storage_provider_v1beta1_resources_pb.Reference, 2));
  };
  
  
  /**
   * @param {?proto.cs3.storage.provider.v1beta1.Reference|undefined} value
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
  */
  proto.cs3.tx.v1beta1.TxInfo.prototype.setRef = function(value) {
    return jspb.Message.setWrapperField(this, 2, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.clearRef = function() {
    return this.setRef(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.hasRef = function() {
    return jspb.Message.getField(this, 2) != null;
  };
  
  
  /**
   * optional Status status = 3;
   * @return {!proto.cs3.tx.v1beta1.TxInfo.Status}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.getStatus = function() {
    return /** @type {!proto.cs3.tx.v1beta1.TxInfo.Status} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
  };
  
  
  /**
   * @param {!proto.cs3.tx.v1beta1.TxInfo.Status} value
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.setStatus = function(value) {
    return jspb.Message.setProto3EnumField(this, 3, value);
  };
  
  
  /**
   * optional cs3.storage.provider.v1beta1.Grantee grantee = 4;
   * @return {?proto.cs3.storage.provider.v1beta1.Grantee}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.getGrantee = function() {
    return /** @type{?proto.cs3.storage.provider.v1beta1.Grantee} */ (
      jspb.Message.getWrapperField(this, cs3_storage_provider_v1beta1_resources_pb.Grantee, 4));
  };
  
  
  /**
   * @param {?proto.cs3.storage.provider.v1beta1.Grantee|undefined} value
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
  */
  proto.cs3.tx.v1beta1.TxInfo.prototype.setGrantee = function(value) {
    return jspb.Message.setWrapperField(this, 4, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.clearGrantee = function() {
    return this.setGrantee(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.hasGrantee = function() {
    return jspb.Message.getField(this, 4) != null;
  };
  
  
  /**
   * optional cs3.identity.user.v1beta1.UserId creator = 5;
   * @return {?proto.cs3.identity.user.v1beta1.UserId}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.getCreator = function() {
    return /** @type{?proto.cs3.identity.user.v1beta1.UserId} */ (
      jspb.Message.getWrapperField(this, cs3_identity_user_v1beta1_resources_pb.UserId, 5));
  };
  
  
  /**
   * @param {?proto.cs3.identity.user.v1beta1.UserId|undefined} value
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
  */
  proto.cs3.tx.v1beta1.TxInfo.prototype.setCreator = function(value) {
    return jspb.Message.setWrapperField(this, 5, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.clearCreator = function() {
    return this.setCreator(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.hasCreator = function() {
    return jspb.Message.getField(this, 5) != null;
  };
  
  
  /**
   * optional cs3.types.v1beta1.Timestamp ctime = 6;
   * @return {?proto.cs3.types.v1beta1.Timestamp}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.getCtime = function() {
    return /** @type{?proto.cs3.types.v1beta1.Timestamp} */ (
      jspb.Message.getWrapperField(this, cs3_types_v1beta1_types_pb.Timestamp, 6));
  };
  
  
  /**
   * @param {?proto.cs3.types.v1beta1.Timestamp|undefined} value
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
  */
  proto.cs3.tx.v1beta1.TxInfo.prototype.setCtime = function(value) {
    return jspb.Message.setWrapperField(this, 6, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.clearCtime = function() {
    return this.setCtime(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.hasCtime = function() {
    return jspb.Message.getField(this, 6) != null;
  };
  
  
  /**
   * optional string description = 7;
   * @return {string}
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.getDescription = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cs3.tx.v1beta1.TxInfo} returns this
   */
  proto.cs3.tx.v1beta1.TxInfo.prototype.setDescription = function(value) {
    return jspb.Message.setProto3StringField(this, 7, value);
  };
  
  
  goog.object.extend(exports, proto.cs3.tx.v1beta1);
  