using NATS.Server.Auth; using NATS.Server.Protocol; namespace NATS.Server; public interface INatsClient { ulong Id { get; } ClientKind Kind { get; } bool IsInternal => Kind.IsInternal(); Account? Account { get; } ClientOptions? ClientOpts { get; } ClientPermissions? Permissions { get; } void SendMessage(string subject, string sid, string? replyTo, ReadOnlyMemory headers, ReadOnlyMemory payload); bool QueueOutbound(ReadOnlyMemory data); void RemoveSubscription(string sid); }