namespace StellaOps.Policy.Engine.AirGap;
///
/// Service for managing sealed-mode operations for policy packs per CONTRACT-SEALED-MODE-004.
///
public interface ISealedModeService
{
///
/// Gets whether the environment is currently sealed.
///
bool IsSealed { get; }
///
/// Gets the current sealed state for a tenant.
///
Task GetStateAsync(string tenantId, CancellationToken cancellationToken = default);
///
/// Gets the sealed status with staleness evaluation.
///
Task GetStatusAsync(string tenantId, CancellationToken cancellationToken = default);
///
/// Seals the environment for a tenant.
///
Task SealAsync(string tenantId, SealRequest request, CancellationToken cancellationToken = default);
///
/// Unseals the environment for a tenant.
///
Task UnsealAsync(string tenantId, CancellationToken cancellationToken = default);
///
/// Evaluates staleness for the current time anchor.
///
Task EvaluateStalenessAsync(string tenantId, CancellationToken cancellationToken = default);
///
/// Enforces sealed-mode constraints for bundle import operations.
///
Task EnforceBundleImportAsync(
string tenantId,
string bundlePath,
CancellationToken cancellationToken = default);
///
/// Verifies a bundle against trust roots.
///
Task VerifyBundleAsync(
BundleVerifyRequest request,
CancellationToken cancellationToken = default);
}