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

package io.grasscutter.net.proto.define;

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

  /**
   * <code>repeated uint32 data_list = 4;</code>
   * @return A list containing the dataList.
   */
  java.util.List<java.lang.Integer> getDataListList();
  /**
   * <code>repeated uint32 data_list = 4;</code>
   * @return The count of dataList.
   */
  int getDataListCount();
  /**
   * <code>repeated uint32 data_list = 4;</code>
   * @param index The index of the element to return.
   * @return The dataList at the given index.
   */
  int getDataList(int index);

  /**
   * <code>.BreakoutSnapShot breakout_snap_shot = 7;</code>
   * @return Whether the breakoutSnapShot field is set.
   */
  boolean hasBreakoutSnapShot();
  /**
   * <code>.BreakoutSnapShot breakout_snap_shot = 7;</code>
   * @return The breakoutSnapShot.
   */
  io.grasscutter.net.proto.define.BreakoutSnapShot getBreakoutSnapShot();
  /**
   * <code>.BreakoutSnapShot breakout_snap_shot = 7;</code>
   */
  io.grasscutter.net.proto.define.BreakoutSnapShotOrBuilder getBreakoutSnapShotOrBuilder();

  /**
   * <code>.NAJEPFPOEDA DBAIDABICMG = 8;</code>
   * @return Whether the dBAIDABICMG field is set.
   */
  boolean hasDBAIDABICMG();
  /**
   * <code>.NAJEPFPOEDA DBAIDABICMG = 8;</code>
   * @return The dBAIDABICMG.
   */
  io.grasscutter.net.proto.define.NAJEPFPOEDA getDBAIDABICMG();
  /**
   * <code>.NAJEPFPOEDA DBAIDABICMG = 8;</code>
   */
  io.grasscutter.net.proto.define.NAJEPFPOEDAOrBuilder getDBAIDABICMGOrBuilder();

  /**
   * <code>repeated .MassivePropSyncInfo massive_prop_list = 6;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.MassivePropSyncInfo> 
      getMassivePropListList();
  /**
   * <code>repeated .MassivePropSyncInfo massive_prop_list = 6;</code>
   */
  io.grasscutter.net.proto.define.MassivePropSyncInfo getMassivePropList(int index);
  /**
   * <code>repeated .MassivePropSyncInfo massive_prop_list = 6;</code>
   */
  int getMassivePropListCount();
  /**
   * <code>repeated .MassivePropSyncInfo massive_prop_list = 6;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.MassivePropSyncInfoOrBuilder> 
      getMassivePropListOrBuilderList();
  /**
   * <code>repeated .MassivePropSyncInfo massive_prop_list = 6;</code>
   */
  io.grasscutter.net.proto.define.MassivePropSyncInfoOrBuilder getMassivePropListOrBuilder(
      int index);

  /**
   * <code>bool is_serverbuff_modifier = 5;</code>
   * @return The isServerbuffModifier.
   */
  boolean getIsServerbuffModifier();

  /**
   * <code>uint32 instanced_modifier_id = 2;</code>
   * @return Whether the instancedModifierId field is set.
   */
  boolean hasInstancedModifierId();
  /**
   * <code>uint32 instanced_modifier_id = 2;</code>
   * @return The instancedModifierId.
   */
  int getInstancedModifierId();

  /**
   * <code>uint32 instanced_ability_id = 1;</code>
   * @return Whether the instancedAbilityId field is set.
   */
  boolean hasInstancedAbilityId();
  /**
   * <code>uint32 instanced_ability_id = 1;</code>
   * @return The instancedAbilityId.
   */
  int getInstancedAbilityId();

  /**
   * <code>uint32 local_id = 3;</code>
   * @return The localId.
   */
  int getLocalId();

  public io.grasscutter.net.proto.define.AbilityMixinRecoverInfo.EHHHELIIFGGCase getEHHHELIIFGGCase();
}
