/**
 *
 * 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

/**
 * A citation to a file.
 *
 * @param type The type of the file citation. Always `file_citation`.
 * @param index The index of the file in the list of files.
 * @param fileId The ID of the file.
 */
@Serializable
public data class FileCitation(
    // The type of the file citation. Always `file_citation`.
    @SerialName(value = "type") @Required val type: FileCitation.Type,
    // The index of the file in the list of files.
    @SerialName(value = "index") @Required val index: kotlin.Int,
    // The ID of the file.
    @SerialName(value = "file_id") @Required val fileId: kotlin.String,
) {
    /**
     * The type of the file citation. Always `file_citation`.
     *
     * Values: FILE_CITATION
     */
    @Serializable
    public enum class Type(
        public val value: kotlin.String,
    ) {
        @SerialName(value = "file_citation")
        FILE_CITATION("file_citation"),
    }
}
