mistral-openapi-client 0.1.0

Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
Documentation
/*
 * Mistral AI API
 *
 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum ContentChunk {
    #[serde(rename="text")]
    Text(Box<models::TextChunk>),
    #[serde(rename="image_url")]
    ImageUrl(Box<models::ImageUrlChunk>),
    #[serde(rename="document_url")]
    DocumentUrl(Box<models::DocumentUrlChunk>),
    #[serde(rename="reference")]
    Reference(Box<models::ReferenceChunk>),
    #[serde(rename="file")]
    File(Box<models::FileChunk>),
    #[serde(rename="thinking")]
    Thinking(Box<models::ThinkChunk>),
    #[serde(rename="input_audio")]
    InputAudio(Box<models::AudioChunk>),
}

impl Default for ContentChunk {
    fn default() -> Self {
        Self::Text(Default::default())
    }
}