// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/api/context.proto

package com.google.api;

public interface ContextRuleOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.api.ContextRule)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Selects the methods to which this rule applies.
   * Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
   * </pre>
   *
   * <code>string selector = 1;</code>
   */
  java.lang.String getSelector();
  /**
   * <pre>
   * Selects the methods to which this rule applies.
   * Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
   * </pre>
   *
   * <code>string selector = 1;</code>
   */
  com.google.protobuf.ByteString
      getSelectorBytes();

  /**
   * <pre>
   * A list of full type names of requested contexts.
   * </pre>
   *
   * <code>repeated string requested = 2;</code>
   */
  java.util.List<java.lang.String>
      getRequestedList();
  /**
   * <pre>
   * A list of full type names of requested contexts.
   * </pre>
   *
   * <code>repeated string requested = 2;</code>
   */
  int getRequestedCount();
  /**
   * <pre>
   * A list of full type names of requested contexts.
   * </pre>
   *
   * <code>repeated string requested = 2;</code>
   */
  java.lang.String getRequested(int index);
  /**
   * <pre>
   * A list of full type names of requested contexts.
   * </pre>
   *
   * <code>repeated string requested = 2;</code>
   */
  com.google.protobuf.ByteString
      getRequestedBytes(int index);

  /**
   * <pre>
   * A list of full type names of provided contexts.
   * </pre>
   *
   * <code>repeated string provided = 3;</code>
   */
  java.util.List<java.lang.String>
      getProvidedList();
  /**
   * <pre>
   * A list of full type names of provided contexts.
   * </pre>
   *
   * <code>repeated string provided = 3;</code>
   */
  int getProvidedCount();
  /**
   * <pre>
   * A list of full type names of provided contexts.
   * </pre>
   *
   * <code>repeated string provided = 3;</code>
   */
  java.lang.String getProvided(int index);
  /**
   * <pre>
   * A list of full type names of provided contexts.
   * </pre>
   *
   * <code>repeated string provided = 3;</code>
   */
  com.google.protobuf.ByteString
      getProvidedBytes(int index);

  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from client to backend.
   * </pre>
   *
   * <code>repeated string allowed_request_extensions = 4;</code>
   */
  java.util.List<java.lang.String>
      getAllowedRequestExtensionsList();
  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from client to backend.
   * </pre>
   *
   * <code>repeated string allowed_request_extensions = 4;</code>
   */
  int getAllowedRequestExtensionsCount();
  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from client to backend.
   * </pre>
   *
   * <code>repeated string allowed_request_extensions = 4;</code>
   */
  java.lang.String getAllowedRequestExtensions(int index);
  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from client to backend.
   * </pre>
   *
   * <code>repeated string allowed_request_extensions = 4;</code>
   */
  com.google.protobuf.ByteString
      getAllowedRequestExtensionsBytes(int index);

  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from backend to client.
   * </pre>
   *
   * <code>repeated string allowed_response_extensions = 5;</code>
   */
  java.util.List<java.lang.String>
      getAllowedResponseExtensionsList();
  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from backend to client.
   * </pre>
   *
   * <code>repeated string allowed_response_extensions = 5;</code>
   */
  int getAllowedResponseExtensionsCount();
  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from backend to client.
   * </pre>
   *
   * <code>repeated string allowed_response_extensions = 5;</code>
   */
  java.lang.String getAllowedResponseExtensions(int index);
  /**
   * <pre>
   * A list of full type names or extension IDs of extensions allowed in grpc
   * side channel from backend to client.
   * </pre>
   *
   * <code>repeated string allowed_response_extensions = 5;</code>
   */
  com.google.protobuf.ByteString
      getAllowedResponseExtensionsBytes(int index);
}
