/**
 *
 * 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 for a web resource used to generate a model response.
 *
 * @param url The URL of the web resource.
 * @param title The title of the web resource.
 * @param type The type of the URL citation. Always `url_citation`.
 * @param startIndex The index of the first character of the URL citation in the message.
 * @param endIndex The index of the last character of the URL citation in the message.
 */
@Serializable
public data class UrlCitation(
    // The URL of the web resource.
    @SerialName(value = "url") @Required val url: kotlin.String,
    // The title of the web resource.
    @SerialName(value = "title") @Required val title: kotlin.String,
    // The type of the URL citation. Always `url_citation`.
    @SerialName(value = "type") @Required val type: UrlCitation.Type,
    // The index of the first character of the URL citation in the message.
    @SerialName(value = "start_index") @Required val startIndex: kotlin.Int,
    // The index of the last character of the URL citation in the message.
    @SerialName(value = "end_index") @Required val endIndex: kotlin.Int,
) {
    /**
     * The type of the URL citation. Always `url_citation`.
     *
     * Values: URL_CITATION
     */
    @Serializable
    public enum class Type(
        public val value: kotlin.String,
    ) {
        @SerialName(value = "url_citation")
        URL_CITATION("url_citation"),
    }
}
