// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/protobuf/struct.proto

package org.tensorflow.proto.framework;

public interface StructuredValueOrBuilder extends
    // @@protoc_insertion_point(interface_extends:tensorflow.StructuredValue)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Represents None.
   * </pre>
   *
   * <code>.tensorflow.NoneValue none_value = 1;</code>
   */
  boolean hasNoneValue();
  /**
   * <pre>
   * Represents None.
   * </pre>
   *
   * <code>.tensorflow.NoneValue none_value = 1;</code>
   */
  org.tensorflow.proto.framework.NoneValue getNoneValue();
  /**
   * <pre>
   * Represents None.
   * </pre>
   *
   * <code>.tensorflow.NoneValue none_value = 1;</code>
   */
  org.tensorflow.proto.framework.NoneValueOrBuilder getNoneValueOrBuilder();

  /**
   * <pre>
   * Represents a double-precision floating-point value (a Python `float`).
   * </pre>
   *
   * <code>double float64_value = 11;</code>
   */
  double getFloat64Value();

  /**
   * <pre>
   * Represents a signed integer value, limited to 64 bits.
   * Larger values from Python's arbitrary-precision integers are unsupported.
   * </pre>
   *
   * <code>sint64 int64_value = 12;</code>
   */
  long getInt64Value();

  /**
   * <pre>
   * Represents a string of Unicode characters stored in a Python `str`.
   * In Python 3, this is exactly what type `str` is.
   * In Python 2, this is the UTF-8 encoding of the characters.
   * For strings with ASCII characters only (as often used in TensorFlow code)
   * there is effectively no difference between the language versions.
   * The obsolescent `unicode` type of Python 2 is not supported here.
   * </pre>
   *
   * <code>string string_value = 13;</code>
   */
  java.lang.String getStringValue();
  /**
   * <pre>
   * Represents a string of Unicode characters stored in a Python `str`.
   * In Python 3, this is exactly what type `str` is.
   * In Python 2, this is the UTF-8 encoding of the characters.
   * For strings with ASCII characters only (as often used in TensorFlow code)
   * there is effectively no difference between the language versions.
   * The obsolescent `unicode` type of Python 2 is not supported here.
   * </pre>
   *
   * <code>string string_value = 13;</code>
   */
  com.google.protobuf.ByteString
      getStringValueBytes();

  /**
   * <pre>
   * Represents a boolean value.
   * </pre>
   *
   * <code>bool bool_value = 14;</code>
   */
  boolean getBoolValue();

  /**
   * <pre>
   * Represents a TensorShape.
   * </pre>
   *
   * <code>.tensorflow.TensorShapeProto tensor_shape_value = 31;</code>
   */
  boolean hasTensorShapeValue();
  /**
   * <pre>
   * Represents a TensorShape.
   * </pre>
   *
   * <code>.tensorflow.TensorShapeProto tensor_shape_value = 31;</code>
   */
  org.tensorflow.proto.framework.TensorShapeProto getTensorShapeValue();
  /**
   * <pre>
   * Represents a TensorShape.
   * </pre>
   *
   * <code>.tensorflow.TensorShapeProto tensor_shape_value = 31;</code>
   */
  org.tensorflow.proto.framework.TensorShapeProtoOrBuilder getTensorShapeValueOrBuilder();

  /**
   * <pre>
   * Represents an enum value for dtype.
   * </pre>
   *
   * <code>.tensorflow.DataType tensor_dtype_value = 32;</code>
   */
  int getTensorDtypeValueValue();
  /**
   * <pre>
   * Represents an enum value for dtype.
   * </pre>
   *
   * <code>.tensorflow.DataType tensor_dtype_value = 32;</code>
   */
  org.tensorflow.proto.framework.DataType getTensorDtypeValue();

  /**
   * <pre>
   * Represents a value for tf.TensorSpec.
   * </pre>
   *
   * <code>.tensorflow.TensorSpecProto tensor_spec_value = 33;</code>
   */
  boolean hasTensorSpecValue();
  /**
   * <pre>
   * Represents a value for tf.TensorSpec.
   * </pre>
   *
   * <code>.tensorflow.TensorSpecProto tensor_spec_value = 33;</code>
   */
  org.tensorflow.proto.framework.TensorSpecProto getTensorSpecValue();
  /**
   * <pre>
   * Represents a value for tf.TensorSpec.
   * </pre>
   *
   * <code>.tensorflow.TensorSpecProto tensor_spec_value = 33;</code>
   */
  org.tensorflow.proto.framework.TensorSpecProtoOrBuilder getTensorSpecValueOrBuilder();

  /**
   * <pre>
   * Represents a value for tf.TypeSpec.
   * </pre>
   *
   * <code>.tensorflow.TypeSpecProto type_spec_value = 34;</code>
   */
  boolean hasTypeSpecValue();
  /**
   * <pre>
   * Represents a value for tf.TypeSpec.
   * </pre>
   *
   * <code>.tensorflow.TypeSpecProto type_spec_value = 34;</code>
   */
  org.tensorflow.proto.framework.TypeSpecProto getTypeSpecValue();
  /**
   * <pre>
   * Represents a value for tf.TypeSpec.
   * </pre>
   *
   * <code>.tensorflow.TypeSpecProto type_spec_value = 34;</code>
   */
  org.tensorflow.proto.framework.TypeSpecProtoOrBuilder getTypeSpecValueOrBuilder();

  /**
   * <pre>
   * Represents a value for tf.BoundedTensorSpec.
   * </pre>
   *
   * <code>.tensorflow.BoundedTensorSpecProto bounded_tensor_spec_value = 35;</code>
   */
  boolean hasBoundedTensorSpecValue();
  /**
   * <pre>
   * Represents a value for tf.BoundedTensorSpec.
   * </pre>
   *
   * <code>.tensorflow.BoundedTensorSpecProto bounded_tensor_spec_value = 35;</code>
   */
  org.tensorflow.proto.framework.BoundedTensorSpecProto getBoundedTensorSpecValue();
  /**
   * <pre>
   * Represents a value for tf.BoundedTensorSpec.
   * </pre>
   *
   * <code>.tensorflow.BoundedTensorSpecProto bounded_tensor_spec_value = 35;</code>
   */
  org.tensorflow.proto.framework.BoundedTensorSpecProtoOrBuilder getBoundedTensorSpecValueOrBuilder();

  /**
   * <pre>
   * Represents a list of `Value`.
   * </pre>
   *
   * <code>.tensorflow.ListValue list_value = 51;</code>
   */
  boolean hasListValue();
  /**
   * <pre>
   * Represents a list of `Value`.
   * </pre>
   *
   * <code>.tensorflow.ListValue list_value = 51;</code>
   */
  org.tensorflow.proto.framework.ListValue getListValue();
  /**
   * <pre>
   * Represents a list of `Value`.
   * </pre>
   *
   * <code>.tensorflow.ListValue list_value = 51;</code>
   */
  org.tensorflow.proto.framework.ListValueOrBuilder getListValueOrBuilder();

  /**
   * <pre>
   * Represents a tuple of `Value`.
   * </pre>
   *
   * <code>.tensorflow.TupleValue tuple_value = 52;</code>
   */
  boolean hasTupleValue();
  /**
   * <pre>
   * Represents a tuple of `Value`.
   * </pre>
   *
   * <code>.tensorflow.TupleValue tuple_value = 52;</code>
   */
  org.tensorflow.proto.framework.TupleValue getTupleValue();
  /**
   * <pre>
   * Represents a tuple of `Value`.
   * </pre>
   *
   * <code>.tensorflow.TupleValue tuple_value = 52;</code>
   */
  org.tensorflow.proto.framework.TupleValueOrBuilder getTupleValueOrBuilder();

  /**
   * <pre>
   * Represents a dict `Value`.
   * </pre>
   *
   * <code>.tensorflow.DictValue dict_value = 53;</code>
   */
  boolean hasDictValue();
  /**
   * <pre>
   * Represents a dict `Value`.
   * </pre>
   *
   * <code>.tensorflow.DictValue dict_value = 53;</code>
   */
  org.tensorflow.proto.framework.DictValue getDictValue();
  /**
   * <pre>
   * Represents a dict `Value`.
   * </pre>
   *
   * <code>.tensorflow.DictValue dict_value = 53;</code>
   */
  org.tensorflow.proto.framework.DictValueOrBuilder getDictValueOrBuilder();

  /**
   * <pre>
   * Represents Python's namedtuple.
   * </pre>
   *
   * <code>.tensorflow.NamedTupleValue named_tuple_value = 54;</code>
   */
  boolean hasNamedTupleValue();
  /**
   * <pre>
   * Represents Python's namedtuple.
   * </pre>
   *
   * <code>.tensorflow.NamedTupleValue named_tuple_value = 54;</code>
   */
  org.tensorflow.proto.framework.NamedTupleValue getNamedTupleValue();
  /**
   * <pre>
   * Represents Python's namedtuple.
   * </pre>
   *
   * <code>.tensorflow.NamedTupleValue named_tuple_value = 54;</code>
   */
  org.tensorflow.proto.framework.NamedTupleValueOrBuilder getNamedTupleValueOrBuilder();

  public org.tensorflow.proto.framework.StructuredValue.KindCase getKindCase();
}
