// Generated by the protocol buffer compiler. DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: proto_tcs.proto

// Generated files should ignore deprecation warnings
@file:Suppress("DEPRECATION")
package org.jetbrains.kotlin.gradle.idea.proto.generated.tcs;

@kotlin.jvm.JvmName("-initializeideaKotlinProjectArtifactDependencyProto")
public inline fun ideaKotlinProjectArtifactDependencyProto(block: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProtoKt.Dsl.() -> kotlin.Unit): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto =
  org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProtoKt.Dsl._create(org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto.newBuilder()).apply { block() }._build()
/**
 * Protobuf type `org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto`
 */
public object IdeaKotlinProjectArtifactDependencyProtoKt {
  @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
  @com.google.protobuf.kotlin.ProtoDslMarker
  public class Dsl private constructor(
    private val _builder: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto.Builder
  ) {
    public companion object {
      @kotlin.jvm.JvmSynthetic
      @kotlin.PublishedApi
      internal fun _create(builder: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto.Builder): Dsl = Dsl(builder)
    }

    @kotlin.jvm.JvmSynthetic
    @kotlin.PublishedApi
    internal fun _build(): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto = _builder.build()

    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.IdeaExtrasProto extras = 1;`
     */
    public var extras: org.jetbrains.kotlin.gradle.idea.proto.generated.IdeaExtrasProto
      @JvmName("getExtras")
      get() = _builder.extras
      @JvmName("setExtras")
      set(value) {
        _builder.extras = value
      }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.IdeaExtrasProto extras = 1;`
     */
    public fun clearExtras() {
      _builder.clearExtras()
    }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.IdeaExtrasProto extras = 1;`
     * @return Whether the extras field is set.
     */
    public fun hasExtras(): kotlin.Boolean {
      return _builder.hasExtras()
    }
    public val IdeaKotlinProjectArtifactDependencyProtoKt.Dsl.extrasOrNull: org.jetbrains.kotlin.gradle.idea.proto.generated.IdeaExtrasProto?
      get() = _builder.extrasOrNull

    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinSourceDependencyProto.Type type = 2;`
     */
    public var type: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinSourceDependencyProto.Type
      @JvmName("getType")
      get() = _builder.type
      @JvmName("setType")
      set(value) {
        _builder.type = value
      }
    public var typeValue: kotlin.Int
      @JvmName("getTypeValue")
      get() = _builder.typeValue
      @JvmName("setTypeValue")
      set(value) {
        _builder.typeValue = value
      }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinSourceDependencyProto.Type type = 2;`
     */
    public fun clearType() {
      _builder.clearType()
    }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinSourceDependencyProto.Type type = 2;`
     * @return Whether the type field is set.
     */
    public fun hasType(): kotlin.Boolean {
      return _builder.hasType()
    }

    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectCoordinatesProto coordinates = 3;`
     */
    public var coordinates: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectCoordinatesProto
      @JvmName("getCoordinates")
      get() = _builder.coordinates
      @JvmName("setCoordinates")
      set(value) {
        _builder.coordinates = value
      }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectCoordinatesProto coordinates = 3;`
     */
    public fun clearCoordinates() {
      _builder.clearCoordinates()
    }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectCoordinatesProto coordinates = 3;`
     * @return Whether the coordinates field is set.
     */
    public fun hasCoordinates(): kotlin.Boolean {
      return _builder.hasCoordinates()
    }
    public val IdeaKotlinProjectArtifactDependencyProtoKt.Dsl.coordinatesOrNull: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectCoordinatesProto?
      get() = _builder.coordinatesOrNull
  }
}
@kotlin.jvm.JvmSynthetic
public inline fun org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto.copy(block: `org.jetbrains.kotlin.gradle.idea.proto.generated.tcs`.IdeaKotlinProjectArtifactDependencyProtoKt.Dsl.() -> kotlin.Unit): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProto =
  `org.jetbrains.kotlin.gradle.idea.proto.generated.tcs`.IdeaKotlinProjectArtifactDependencyProtoKt.Dsl._create(this.toBuilder()).apply { block() }._build()

public val org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProtoOrBuilder.extrasOrNull: org.jetbrains.kotlin.gradle.idea.proto.generated.IdeaExtrasProto?
  get() = if (hasExtras()) getExtras() else null

public val org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectArtifactDependencyProtoOrBuilder.coordinatesOrNull: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinProjectCoordinatesProto?
  get() = if (hasCoordinates()) getCoordinates() else null

