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

package org.tensorflow.proto.framework;

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

  /**
   * <code>.tensorflow.DataType dtype = 1;</code>
   */
  int getDtypeValue();
  /**
   * <code>.tensorflow.DataType dtype = 1;</code>
   */
  org.tensorflow.proto.framework.DataType getDtype();

  /**
   * <code>.tensorflow.TensorShapeProto shape = 2;</code>
   */
  boolean hasShape();
  /**
   * <code>.tensorflow.TensorShapeProto shape = 2;</code>
   */
  org.tensorflow.proto.framework.TensorShapeProto getShape();
  /**
   * <code>.tensorflow.TensorShapeProto shape = 2;</code>
   */
  org.tensorflow.proto.framework.TensorShapeProtoOrBuilder getShapeOrBuilder();

  /**
   * <code>bool trainable = 3;</code>
   */
  boolean getTrainable();

  /**
   * <code>.tensorflow.VariableSynchronization synchronization = 4;</code>
   */
  int getSynchronizationValue();
  /**
   * <code>.tensorflow.VariableSynchronization synchronization = 4;</code>
   */
  org.tensorflow.proto.framework.VariableSynchronization getSynchronization();

  /**
   * <code>.tensorflow.VariableAggregation aggregation = 5;</code>
   */
  int getAggregationValue();
  /**
   * <code>.tensorflow.VariableAggregation aggregation = 5;</code>
   */
  org.tensorflow.proto.framework.VariableAggregation getAggregation();

  /**
   * <code>string name = 6;</code>
   */
  java.lang.String getName();
  /**
   * <code>string name = 6;</code>
   */
  com.google.protobuf.ByteString
      getNameBytes();

  /**
   * <code>string device = 7;</code>
   */
  java.lang.String getDevice();
  /**
   * <code>string device = 7;</code>
   */
  com.google.protobuf.ByteString
      getDeviceBytes();

  /**
   * <pre>
   * List of component variables for a distributed variable.
   * When this field is non-empty, the SavedVariable will be assumed
   * to be a distributed variable defined by the components listed here.
   * This is only supported by experimental loaders at the moment.
   * </pre>
   *
   * <code>repeated .tensorflow.SavedVariable experimental_distributed_variable_components = 8;</code>
   */
  java.util.List<org.tensorflow.proto.framework.SavedVariable> 
      getExperimentalDistributedVariableComponentsList();
  /**
   * <pre>
   * List of component variables for a distributed variable.
   * When this field is non-empty, the SavedVariable will be assumed
   * to be a distributed variable defined by the components listed here.
   * This is only supported by experimental loaders at the moment.
   * </pre>
   *
   * <code>repeated .tensorflow.SavedVariable experimental_distributed_variable_components = 8;</code>
   */
  org.tensorflow.proto.framework.SavedVariable getExperimentalDistributedVariableComponents(int index);
  /**
   * <pre>
   * List of component variables for a distributed variable.
   * When this field is non-empty, the SavedVariable will be assumed
   * to be a distributed variable defined by the components listed here.
   * This is only supported by experimental loaders at the moment.
   * </pre>
   *
   * <code>repeated .tensorflow.SavedVariable experimental_distributed_variable_components = 8;</code>
   */
  int getExperimentalDistributedVariableComponentsCount();
  /**
   * <pre>
   * List of component variables for a distributed variable.
   * When this field is non-empty, the SavedVariable will be assumed
   * to be a distributed variable defined by the components listed here.
   * This is only supported by experimental loaders at the moment.
   * </pre>
   *
   * <code>repeated .tensorflow.SavedVariable experimental_distributed_variable_components = 8;</code>
   */
  java.util.List<? extends org.tensorflow.proto.framework.SavedVariableOrBuilder> 
      getExperimentalDistributedVariableComponentsOrBuilderList();
  /**
   * <pre>
   * List of component variables for a distributed variable.
   * When this field is non-empty, the SavedVariable will be assumed
   * to be a distributed variable defined by the components listed here.
   * This is only supported by experimental loaders at the moment.
   * </pre>
   *
   * <code>repeated .tensorflow.SavedVariable experimental_distributed_variable_components = 8;</code>
   */
  org.tensorflow.proto.framework.SavedVariableOrBuilder getExperimentalDistributedVariableComponentsOrBuilder(
      int index);
}
