content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // NO CHECKED-IN PROTOBUF GENCODE
  // source: a2a.proto
  // Protobuf Java Version: 4.31.1
  
  package io.a2a.grpc;
  
  @com.google.protobuf.Generated
  public interface AgentSkillOrBuilder extends
      // @@protoc_insertion_point(interface_extends:a2a.v1.AgentSkill)
      com.google.protobuf.MessageOrBuilder {
  
    /**
     * <pre>
     * Unique id of the skill within this agent.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <pre>
     * Unique id of the skill within this agent.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  
    /**
     * <pre>
     * A human readable name for the skill.
     * </pre>
     *
     * <code>string name = 2;</code>
     * @return The name.
     */
    java.lang.String getName();
    /**
     * <pre>
     * A human readable name for the skill.
     * </pre>
     *
     * <code>string name = 2;</code>
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
  
    /**
     * <pre>
     * A human (or llm) readable description of the skill
     * details and behaviors.
     * </pre>
     *
     * <code>string description = 3;</code>
     * @return The description.
     */
    java.lang.String getDescription();
    /**
     * <pre>
     * A human (or llm) readable description of the skill
     * details and behaviors.
     * </pre>
     *
     * <code>string description = 3;</code>
     * @return The bytes for description.
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();
  
    /**
     * <pre>
     * A set of tags for the skill to enhance categorization/utilization.
     * Example: ["cooking", "customer support", "billing"]
     * </pre>
     *
     * <code>repeated string tags = 4;</code>
     * @return A list containing the tags.
     */
    java.util.List<java.lang.String>
        getTagsList();
    /**
     * <pre>
     * A set of tags for the skill to enhance categorization/utilization.
     * Example: ["cooking", "customer support", "billing"]
     * </pre>
     *
     * <code>repeated string tags = 4;</code>
     * @return The count of tags.
     */
    int getTagsCount();
    /**
     * <pre>
     * A set of tags for the skill to enhance categorization/utilization.
     * Example: ["cooking", "customer support", "billing"]
     * </pre>
     *
     * <code>repeated string tags = 4;</code>
     * @param index The index of the element to return.
     * @return The tags at the given index.
     */
    java.lang.String getTags(int index);
    /**
     * <pre>
     * A set of tags for the skill to enhance categorization/utilization.
     * Example: ["cooking", "customer support", "billing"]
     * </pre>
     *
     * <code>repeated string tags = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the tags at the given index.
     */
    com.google.protobuf.ByteString
        getTagsBytes(int index);
  
    /**
     * <pre>
     * A set of example queries that this skill is designed to address.
     * These examples should help the caller to understand how to craft requests
     * to the agent to achieve specific goals.
     * Example: ["I need a recipe for bread"]
     * </pre>
     *
     * <code>repeated string examples = 5;</code>
     * @return A list containing the examples.
     */
    java.util.List<java.lang.String>
        getExamplesList();
    /**
     * <pre>
     * A set of example queries that this skill is designed to address.
     * These examples should help the caller to understand how to craft requests
     * to the agent to achieve specific goals.
     * Example: ["I need a recipe for bread"]
     * </pre>
     *
     * <code>repeated string examples = 5;</code>
     * @return The count of examples.
     */
    int getExamplesCount();
    /**
     * <pre>
     * A set of example queries that this skill is designed to address.
     * These examples should help the caller to understand how to craft requests
     * to the agent to achieve specific goals.
     * Example: ["I need a recipe for bread"]
     * </pre>
     *
     * <code>repeated string examples = 5;</code>
     * @param index The index of the element to return.
     * @return The examples at the given index.
     */
    java.lang.String getExamples(int index);
    /**
     * <pre>
     * A set of example queries that this skill is designed to address.
     * These examples should help the caller to understand how to craft requests
     * to the agent to achieve specific goals.
     * Example: ["I need a recipe for bread"]
     * </pre>
     *
     * <code>repeated string examples = 5;</code>
     * @param index The index of the value to return.
     * @return The bytes of the examples at the given index.
     */
    com.google.protobuf.ByteString
        getExamplesBytes(int index);
  
    /**
     * <pre>
     * Possible input modalities supported.
     * </pre>
     *
     * <code>repeated string input_modes = 6;</code>
     * @return A list containing the inputModes.
     */
    java.util.List<java.lang.String>
        getInputModesList();
    /**
     * <pre>
     * Possible input modalities supported.
     * </pre>
     *
     * <code>repeated string input_modes = 6;</code>
     * @return The count of inputModes.
     */
    int getInputModesCount();
    /**
     * <pre>
     * Possible input modalities supported.
     * </pre>
     *
     * <code>repeated string input_modes = 6;</code>
     * @param index The index of the element to return.
     * @return The inputModes at the given index.
     */
    java.lang.String getInputModes(int index);
    /**
     * <pre>
     * Possible input modalities supported.
     * </pre>
     *
     * <code>repeated string input_modes = 6;</code>
     * @param index The index of the value to return.
     * @return The bytes of the inputModes at the given index.
     */
    com.google.protobuf.ByteString
        getInputModesBytes(int index);
  
    /**
     * <pre>
     * Possible output modalities produced
     * </pre>
     *
     * <code>repeated string output_modes = 7;</code>
     * @return A list containing the outputModes.
     */
    java.util.List<java.lang.String>
        getOutputModesList();
    /**
     * <pre>
     * Possible output modalities produced
     * </pre>
     *
     * <code>repeated string output_modes = 7;</code>
     * @return The count of outputModes.
     */
    int getOutputModesCount();
    /**
     * <pre>
     * Possible output modalities produced
     * </pre>
     *
     * <code>repeated string output_modes = 7;</code>
     * @param index The index of the element to return.
     * @return The outputModes at the given index.
     */
    java.lang.String getOutputModes(int index);
    /**
     * <pre>
     * Possible output modalities produced
     * </pre>
     *
     * <code>repeated string output_modes = 7;</code>
     * @param index The index of the value to return.
     * @return The bytes of the outputModes at the given index.
     */
    com.google.protobuf.ByteString
        getOutputModesBytes(int index);
  
    /**
     * <pre>
     * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
     * Security schemes necessary for the agent to leverage this skill.
     * As in the overall AgentCard.security, this list represents a logical OR of
     * security requirement objects. Each object is a set of security schemes
     * that must be used together (a logical AND).
     * </pre>
     *
     * <code>repeated .a2a.v1.Security security = 8;</code>
     */
    java.util.List<io.a2a.grpc.Security> 
        getSecurityList();
    /**
     * <pre>
     * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
     * Security schemes necessary for the agent to leverage this skill.
     * As in the overall AgentCard.security, this list represents a logical OR of
     * security requirement objects. Each object is a set of security schemes
     * that must be used together (a logical AND).
     * </pre>
     *
     * <code>repeated .a2a.v1.Security security = 8;</code>
     */
    io.a2a.grpc.Security getSecurity(int index);
    /**
     * <pre>
     * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
     * Security schemes necessary for the agent to leverage this skill.
     * As in the overall AgentCard.security, this list represents a logical OR of
     * security requirement objects. Each object is a set of security schemes
     * that must be used together (a logical AND).
     * </pre>
     *
     * <code>repeated .a2a.v1.Security security = 8;</code>
     */
    int getSecurityCount();
    /**
     * <pre>
     * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
     * Security schemes necessary for the agent to leverage this skill.
     * As in the overall AgentCard.security, this list represents a logical OR of
     * security requirement objects. Each object is a set of security schemes
     * that must be used together (a logical AND).
     * </pre>
     *
     * <code>repeated .a2a.v1.Security security = 8;</code>
     */
    java.util.List<? extends io.a2a.grpc.SecurityOrBuilder> 
        getSecurityOrBuilderList();
    /**
     * <pre>
     * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
     * Security schemes necessary for the agent to leverage this skill.
     * As in the overall AgentCard.security, this list represents a logical OR of
     * security requirement objects. Each object is a set of security schemes
     * that must be used together (a logical AND).
     * </pre>
     *
     * <code>repeated .a2a.v1.Security security = 8;</code>
     */
    io.a2a.grpc.SecurityOrBuilder getSecurityOrBuilder(
        int index);
  }
  