// DO NOT EDIT MANUALLY!
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
// To regenerate run 'generateGradleOptions' task
@file:Suppress("RemoveRedundantQualifierName", "Deprecation", "Deprecation_Error", "DuplicatedCode")

package org.jetbrains.kotlin.gradle.dsl

/**
 * Common compiler options for all Kotlin platforms.
 */
interface KotlinCommonCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions {

    /**
     * Allow using declarations from only the specified version of bundled libraries.
     *
     * Possible values: "1.8 (deprecated)", "1.9 (deprecated)", "2.0", "2.1", "2.2", "2.3 (experimental)", "2.4 (experimental)", "2.5 (experimental)"
     *
     * Default value: null
     */
    @get:org.gradle.api.tasks.Optional
    @get:org.gradle.api.tasks.Input
    val apiVersion: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.KotlinVersion>

    /**
     * Provide source compatibility with the specified version of Kotlin.
     *
     * Possible values: "1.8 (deprecated)", "1.9 (deprecated)", "2.0", "2.1", "2.2", "2.3 (experimental)", "2.4 (experimental)", "2.5 (experimental)"
     *
     * Default value: null
     */
    @get:org.gradle.api.tasks.Optional
    @get:org.gradle.api.tasks.Input
    val languageVersion: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.KotlinVersion>

    /**
     * Enable API usages that require opt-in with an opt-in requirement marker with the given fully qualified name.
     *
     * Default value: emptyList<String>()
     */
    @get:org.gradle.api.tasks.Input
    val optIn: org.gradle.api.provider.ListProperty<kotlin.String>

    /**
     * Enable progressive compiler mode.
     * In this mode, deprecations and bug fixes for unstable code take effect immediately
     * instead of going through a graceful migration cycle.
     * Code written in progressive mode is backward compatible; however, code written without
     * progressive mode enabled may cause compilation errors in progressive mode.
     *
     * Default value: false
     */
    @get:org.gradle.api.tasks.Input
    val progressiveMode: org.gradle.api.provider.Property<kotlin.Boolean>

    /**
     * Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet.
     *
     * Default value: false
     */
    @Deprecated(message = "Compiler flag -Xuse-k2 is deprecated; please use language version 2.0 instead", level = DeprecationLevel.HIDDEN)
    @get:org.gradle.api.tasks.Input
    val useK2: org.gradle.api.provider.Property<kotlin.Boolean>
}
