/**
 *
 * Please note:
 * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * Do not edit this file manually.
 *
 */
@file:Suppress(
    "ArrayInDataClass",
    "EnumEntryName",
    "RemoveRedundantQualifierName",
    "UnusedImport",
)

package dev.mokksy.aimocks.openai.model

import kotlinx.serialization.Required
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

/**
 *
 *
 * @param type The type of the output text. Always `output_text`.
 * @param text The text output from the model.
 * @param annotations The annotations of the text output.
 * @param refusal The refusal explanationfrom the model.
 */
@Serializable
public data class OutputContent(
    // The type of the output text. Always `output_text`.
    @SerialName(value = "type") @Required val type: OutputContent.Type,
    // The text output from the model.
    @SerialName(value = "text") @Required val text: kotlin.String,
    // The annotations of the text output.
    @SerialName(value = "annotations") @Required val annotations: kotlin.collections.List<Annotation>,
    // The refusal explanationfrom the model.
    @SerialName(value = "refusal") val refusal: kotlin.String? = null,
) {
    /**
     * The type of the output text. Always `output_text`.
     *
     * Values: OUTPUT_TEXT,REFUSAL
     */
    @Serializable
    public enum class Type(
        public val value: kotlin.String,
    ) {
        @SerialName(value = "output_text")
        OUTPUT_TEXT("output_text"),

        @SerialName(value = "refusal")
        REFUSAL("refusal"),
    }
}
