// Copyright (c) Microsoft. All rights reserved. using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Microsoft.Agents.AI.Workflows.Checkpointing; internal interface ICheckpointingHandle { /// /// Gets a value indicating whether checkpointing is enabled for the current operation or process. /// bool IsCheckpointingEnabled { get; } /// /// Gets a read-only list of checkpoint information associated with the current context. /// IReadOnlyList Checkpoints { get; } /// /// Restores the system state from the specified checkpoint asynchronously. /// /// The checkpoint information that identifies the state to restore. Cannot be null. /// A cancellation token that can be used to cancel the restore operation. /// A that represents the asynchronous restore operation. ValueTask RestoreCheckpointAsync(CheckpointInfo checkpointInfo, CancellationToken cancellationToken = default); }