#![allow(
unused_imports,
dead_code,
non_camel_case_types,
unused_variables,
clippy::all
)]
use super::super::events::checkpoint::Checkpoint;
#[async_trait::async_trait]
pub trait CheckpointStore: Send + Sync {
async fn save(
&self,
checkpoint: &Checkpoint,
) -> Result<Checkpoint, Box<dyn std::error::Error + Send + Sync>>;
async fn load(
&self,
session_id: &String,
checkpoint_id: &String,
) -> Result<Option<Checkpoint>, Box<dyn std::error::Error + Send + Sync>>;
async fn list_checkpoints(
&self,
session_id: &String,
) -> Result<Vec<Checkpoint>, Box<dyn std::error::Error + Send + Sync>>;
}