// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: define.proto

package io.grasscutter.net.proto.define;

public interface SceneEntityAiInfoOrBuilder extends
    // @@protoc_insertion_point(interface_extends:SceneEntityAiInfo)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <code>.ServantInfo servant_info = 4;</code>
   * @return Whether the servantInfo field is set.
   */
  boolean hasServantInfo();
  /**
   * <code>.ServantInfo servant_info = 4;</code>
   * @return The servantInfo.
   */
  io.grasscutter.net.proto.define.ServantInfo getServantInfo();
  /**
   * <code>.ServantInfo servant_info = 4;</code>
   */
  io.grasscutter.net.proto.define.ServantInfoOrBuilder getServantInfoOrBuilder();

  /**
   * <code>map&lt;uint32, uint32&gt; skill_group_cd_map = 6;</code>
   */
  int getSkillGroupCdMapCount();
  /**
   * <code>map&lt;uint32, uint32&gt; skill_group_cd_map = 6;</code>
   */
  boolean containsSkillGroupCdMap(
      int key);
  /**
   * Use {@link #getSkillGroupCdMapMap()} instead.
   */
  @java.lang.Deprecated
  java.util.Map<java.lang.Integer, java.lang.Integer>
  getSkillGroupCdMap();
  /**
   * <code>map&lt;uint32, uint32&gt; skill_group_cd_map = 6;</code>
   */
  java.util.Map<java.lang.Integer, java.lang.Integer>
  getSkillGroupCdMapMap();
  /**
   * <code>map&lt;uint32, uint32&gt; skill_group_cd_map = 6;</code>
   */

  int getSkillGroupCdMapOrDefault(
      int key,
      int defaultValue);
  /**
   * <code>map&lt;uint32, uint32&gt; skill_group_cd_map = 6;</code>
   */

  int getSkillGroupCdMapOrThrow(
      int key);

  /**
   * <code>map&lt;uint32, uint32&gt; ai_threat_map = 5;</code>
   */
  int getAiThreatMapCount();
  /**
   * <code>map&lt;uint32, uint32&gt; ai_threat_map = 5;</code>
   */
  boolean containsAiThreatMap(
      int key);
  /**
   * Use {@link #getAiThreatMapMap()} instead.
   */
  @java.lang.Deprecated
  java.util.Map<java.lang.Integer, java.lang.Integer>
  getAiThreatMap();
  /**
   * <code>map&lt;uint32, uint32&gt; ai_threat_map = 5;</code>
   */
  java.util.Map<java.lang.Integer, java.lang.Integer>
  getAiThreatMapMap();
  /**
   * <code>map&lt;uint32, uint32&gt; ai_threat_map = 5;</code>
   */

  int getAiThreatMapOrDefault(
      int key,
      int defaultValue);
  /**
   * <code>map&lt;uint32, uint32&gt; ai_threat_map = 5;</code>
   */

  int getAiThreatMapOrThrow(
      int key);

  /**
   * <code>map&lt;uint32, uint32&gt; skill_cd_map = 3;</code>
   */
  int getSkillCdMapCount();
  /**
   * <code>map&lt;uint32, uint32&gt; skill_cd_map = 3;</code>
   */
  boolean containsSkillCdMap(
      int key);
  /**
   * Use {@link #getSkillCdMapMap()} instead.
   */
  @java.lang.Deprecated
  java.util.Map<java.lang.Integer, java.lang.Integer>
  getSkillCdMap();
  /**
   * <code>map&lt;uint32, uint32&gt; skill_cd_map = 3;</code>
   */
  java.util.Map<java.lang.Integer, java.lang.Integer>
  getSkillCdMapMap();
  /**
   * <code>map&lt;uint32, uint32&gt; skill_cd_map = 3;</code>
   */

  int getSkillCdMapOrDefault(
      int key,
      int defaultValue);
  /**
   * <code>map&lt;uint32, uint32&gt; skill_cd_map = 3;</code>
   */

  int getSkillCdMapOrThrow(
      int key);

  /**
   * <code>bool is_ai_open = 8;</code>
   * @return The isAiOpen.
   */
  boolean getIsAiOpen();

  /**
   * <code>uint32 cur_tactic = 7;</code>
   * @return The curTactic.
   */
  int getCurTactic();
}
