using ZB.MOM.WW.OtOpcUa.Commons.Messages.Admin;
namespace ZB.MOM.WW.OtOpcUa.Commons.Interfaces;
///
/// Cluster-singleton-proxy client for the AdminOperationsActor. The Blazor UI calls
/// this from any host (admin or driver role); the proxy routes the request to whichever node
/// holds the admin singleton.
///
public interface IAdminOperationsClient
{
/// Starts a new deployment on the cluster-singleton admin operations actor.
/// The user or system identifier triggering the deployment.
/// The cancellation token.
/// A task representing the asynchronous operation containing the deployment start result.
Task StartDeploymentAsync(string createdBy, CancellationToken ct);
///
/// Generic Ask: forwards to the AdminOperationsActor
/// cluster-singleton proxy and awaits a reply of type .
/// The caller is responsible for applying any outer timeout via .
///
/// Expected reply type.
/// The message to send.
/// Cancellation token (caller-controlled timeout).
Task AskAsync(object message, CancellationToken ct);
}