// Generated by Qleany v1.5.1 from feature_dtos.tera

use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTextDto {
    pub position: i64,
    pub anchor: i64,
    pub text: String,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTextResultDto {
    pub new_position: i64,
    pub blocks_affected: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct DeleteTextDto {
    pub position: i64,
    pub anchor: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct DeleteTextResultDto {
    pub new_position: i64,
    pub deleted_text: String,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertBlockDto {
    pub position: i64,
    pub anchor: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertBlockResultDto {
    pub new_position: i64,
    pub new_block_id: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertImageDto {
    pub position: i64,
    pub anchor: i64,
    pub image_name: String,
    pub width: i64,
    pub height: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertImageResultDto {
    pub new_position: i64,
    pub element_id: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertFrameDto {
    pub position: i64,
    pub anchor: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertFrameResultDto {
    pub frame_id: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertFormattedTextDto {
    pub position: i64,
    pub anchor: i64,
    pub text: String,
    pub font_family: String,
    pub font_point_size: i64,
    pub font_bold: bool,
    pub font_italic: bool,
    pub font_underline: bool,
    pub font_strikeout: bool,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertFormattedTextResultDto {
    pub new_position: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct CreateListDto {
    pub position: i64,
    pub anchor: i64,
    pub style: ListStyle,
}

pub use common::entities::ListStyle;
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct CreateListResultDto {
    pub list_id: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertListDto {
    pub position: i64,
    pub anchor: i64,
    pub style: ListStyle,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertListResultDto {
    pub list_id: i64,
    pub new_position: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertFragmentDto {
    pub position: i64,
    pub anchor: i64,
    pub fragment_data: String,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertFragmentResultDto {
    pub new_position: i64,
    pub blocks_added: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertHtmlAtPositionDto {
    pub position: i64,
    pub anchor: i64,
    pub html: String,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertHtmlAtPositionResultDto {
    pub new_position: i64,
    pub blocks_added: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertMarkdownAtPositionDto {
    pub position: i64,
    pub anchor: i64,
    pub markdown: String,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertMarkdownAtPositionResultDto {
    pub new_position: i64,
    pub blocks_added: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTableDto {
    pub position: i64,
    pub anchor: i64,
    pub rows: i64,
    pub columns: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTableResultDto {
    pub table_id: i64,
    pub new_position: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct RemoveTableDto {
    pub table_id: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTableRowDto {
    pub table_id: i64,
    pub row_index: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTableRowResultDto {
    pub new_row_count: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTableColumnDto {
    pub table_id: i64,
    pub column_index: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct InsertTableColumnResultDto {
    pub new_column_count: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct RemoveTableRowDto {
    pub table_id: i64,
    pub row_index: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct RemoveTableRowResultDto {
    pub new_row_count: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct RemoveTableColumnDto {
    pub table_id: i64,
    pub column_index: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct RemoveTableColumnResultDto {
    pub new_column_count: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct MergeTableCellsDto {
    pub table_id: i64,
    pub start_row: i64,
    pub start_column: i64,
    pub end_row: i64,
    pub end_column: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct MergeTableCellsResultDto {
    pub merged_cell_id: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct SplitTableCellDto {
    pub cell_id: i64,
    pub split_rows: i64,
    pub split_columns: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct SplitTableCellResultDto {
    pub new_cell_ids: Vec<i64>,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct AddBlockToListDto {
    pub block_id: i64,
    pub list_id: i64,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
pub struct RemoveBlockFromListDto {
    pub block_id: i64,
}
