use logisheets_base::{
BlockCellId, SheetId, StyleId,
block_affect::BlockAffectTrait,
id_fetcher::{IdFetcherTrait, SheetIdFetcherByIdxTrait},
index_fetcher::IndexFetcherTrait,
};
use crate::style_manager::RawStyle;
use crate::{Error, edit_action::StyleUpdateType};
pub trait ContainerExecCtx:
IdFetcherTrait + IndexFetcherTrait + BlockAffectTrait + SheetIdFetcherByIdxTrait
{
fn get_new_style_id(
&mut self,
old_id: StyleId,
update_type: StyleUpdateType,
) -> Result<StyleId, Error>;
fn insert_style(&mut self, style: RawStyle) -> Result<StyleId, Error>;
fn is_block_cell_templated(&self, sheet_id: SheetId, cell: &BlockCellId) -> bool;
}