using Grpc.Core; using MxGateway.Contracts.Proto; namespace MxGateway.Client; internal interface IMxGatewayClientTransport { MxGatewayClientOptions Options { get; } MxAccessGateway.MxAccessGatewayClient? RawClient { get; } Task OpenSessionAsync( OpenSessionRequest request, CallOptions callOptions); Task CloseSessionAsync( CloseSessionRequest request, CallOptions callOptions); Task InvokeAsync( MxCommandRequest request, CallOptions callOptions); IAsyncEnumerable StreamEventsAsync( StreamEventsRequest request, CallOptions callOptions); }