use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
#[allow(non_snake_case)]
// 归档选项（比如压缩算法名称或参数）
/// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public struct 'ArchiveOptions'. Replace with real documentation. (2025-12-30T22:23:21Z)
pub struct ArchiveOptions {
    // 压缩方式（如 "Deflate"、"Store" 等），空字符串表示未指定
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'compression' in 'ArchiveOptions'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub compression: Option<String>,
}

impl Default for ArchiveOptions {
    fn default() -> Self {
        Self {
            compression: Some(String::new()),
        }
    }
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
#[allow(non_snake_case)]
// 额外选项节（用于放置扩展配置，例如归档参数）
/// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public struct 'OptionsSection'. Replace with real documentation. (2025-12-30T22:23:21Z)
pub struct OptionsSection {
    // 归档相关选项（比如压缩方式）
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'archive' in 'OptionsSection'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub archive: Option<ArchiveOptions>,
}

impl Default for OptionsSection {
    fn default() -> Self {
        Self {
            archive: Some(ArchiveOptions::default()),
        }
    }
}
