using SurrealDb.Net; using SurrealDb.Net.Models.Response; namespace ZB.MOM.WW.CBDDC.Persistence.Surreal; /// /// Abstraction over the embedded Surreal client used by CBDDC persistence stores. /// public interface ICBDDCSurrealEmbeddedClient : IAsyncDisposable, IDisposable { /// /// Gets the underlying Surreal client. /// ISurrealDbClient Client { get; } /// /// Connects and selects namespace/database exactly once. /// Task InitializeAsync(CancellationToken cancellationToken = default); /// /// Executes a raw SurrealQL statement. /// Task RawQueryAsync(string query, IReadOnlyDictionary? parameters = null, CancellationToken cancellationToken = default); /// /// Checks whether the embedded client responds to health probes. /// Task HealthAsync(CancellationToken cancellationToken = default); }