use serde::{Deserialize, Serialize};

use super::CommentId;

/// A logical DOCX story that can contain blocks.
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum Story {
    /// Main document body.
    Body,
    /// Header story with one-based index.
    Header { index: u32 },
    /// Footer story with one-based index.
    Footer { index: u32 },
    /// Footnote story identified by note id.
    Footnote { index: u32 },
    /// Endnote story identified by note id.
    Endnote { index: u32 },
    /// Comment story identified by normalized comment id.
    Comment { id: CommentId },
    /// Text box story with one-based index.
    TextBox { index: u32 },
}
