use serde::Serialize;
use super::{Element, Expression, MentionType, Parameters, ResolvedMediaInfo, Span};
#[derive(Debug, Clone, Serialize)]
pub struct NullElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct FootnoteRefElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct TimeNowElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct SoftBreakElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct HardBreakElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct ClearElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct HLineElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct TextElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub value: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct CommentElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub value: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct EscapeElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub value: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct ErrorElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub value: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct TextStyleElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct LiteralElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct DefineElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
}
#[derive(Debug, Clone, Serialize)]
pub struct StyledElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct BlockQuoteElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct RubyElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct FootnoteElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub footnote_index: usize,
pub parameters: Parameters,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct CodeElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub value: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct TeXElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub is_block: bool,
pub value: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct CssElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub value: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct FoldInnerElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct FoldElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub summary: FoldInnerElement,
pub details: FoldInnerElement,
}
#[derive(Debug, Clone, Serialize)]
pub struct IncludeElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct CategoryElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct RedirectElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct MediaElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub parameters: Parameters,
pub children: Vec<Element>,
#[serde(skip_serializing_if = "Option::is_none")]
pub resolved_info: Option<ResolvedMediaInfo>,
}
#[derive(Debug, Clone, Serialize)]
pub struct ExternalMediaElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub provider: String,
pub parameters: Parameters,
}
#[derive(Debug, Clone, Serialize)]
pub struct AgeElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub date: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct VariableElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub name: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct MentionElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub kind: MentionType,
pub id: String,
}
#[derive(Debug, Clone, Serialize)]
pub struct HeaderElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
pub level: usize,
pub is_folded: bool,
pub section_index: usize,
pub children: Vec<Element>,
}
#[derive(Debug, Clone, Serialize)]
pub struct IfElement {
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub open_span: Span,
#[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
pub close_span: Span,
pub condition: Expression,
pub children: Vec<Element>,
}