use serde::{Deserialize, Serialize};
use super::{BlockId, Story, TextSpan};
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Block {
pub id: BlockId,
pub story: Story,
pub kind: BlockKind,
pub text: String,
pub style: Option<String>,
pub text_spans: Option<Vec<TextSpan>>,
pub footnote_refs: Vec<u32>,
pub endnote_refs: Vec<u32>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum BlockKind {
Paragraph,
Heading { level: u8 },
ListItem { level: usize },
TableCell {
table_id: String,
row: usize,
col: usize,
},
}