// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: compiler/ir/serialization.common/src/KotlinIr.proto

package org.jetbrains.kotlin.backend.common.serialization.proto;

public interface IrDeclarationOrBuilder extends
    // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclaration)
    org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrAnonymousInit ir_anonymous_init = 1;</code>
   */
  boolean hasIrAnonymousInit();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrAnonymousInit ir_anonymous_init = 1;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrAnonymousInit getIrAnonymousInit();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrClass ir_class = 2;</code>
   */
  boolean hasIrClass();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrClass ir_class = 2;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrClass getIrClass();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrConstructor ir_constructor = 3;</code>
   */
  boolean hasIrConstructor();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrConstructor ir_constructor = 3;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrConstructor getIrConstructor();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrEnumEntry ir_enum_entry = 4;</code>
   */
  boolean hasIrEnumEntry();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrEnumEntry ir_enum_entry = 4;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrEnumEntry getIrEnumEntry();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrField ir_field = 5;</code>
   */
  boolean hasIrField();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrField ir_field = 5;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrField getIrField();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction ir_function = 6;</code>
   */
  boolean hasIrFunction();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction ir_function = 6;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction getIrFunction();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrProperty ir_property = 7;</code>
   */
  boolean hasIrProperty();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrProperty ir_property = 7;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrProperty getIrProperty();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeParameter ir_type_parameter = 8;</code>
   */
  boolean hasIrTypeParameter();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeParameter ir_type_parameter = 8;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeParameter getIrTypeParameter();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrVariable ir_variable = 9;</code>
   */
  boolean hasIrVariable();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrVariable ir_variable = 9;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrVariable getIrVariable();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrValueParameter ir_value_parameter = 10;</code>
   */
  boolean hasIrValueParameter();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrValueParameter ir_value_parameter = 10;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrValueParameter getIrValueParameter();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrLocalDelegatedProperty ir_local_delegated_property = 11;</code>
   */
  boolean hasIrLocalDelegatedProperty();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrLocalDelegatedProperty ir_local_delegated_property = 11;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrLocalDelegatedProperty getIrLocalDelegatedProperty();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAlias ir_type_alias = 12;</code>
   */
  boolean hasIrTypeAlias();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAlias ir_type_alias = 12;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAlias getIrTypeAlias();
}