using System;
using System.Threading;
using System.Threading.Tasks;
namespace Acp;
///
/// A bidirectional, newline-delimited JSON message channel. One line per JSON-RPC message.
/// Implementations carry raw text only; framing and (de)serialization live above this seam.
///
public interface IAcpTransport : IDisposable
{
/// Reads the next line, or null at end of stream.
ValueTask ReadLineAsync(CancellationToken cancellationToken = default);
/// Writes one line (a single JSON message) and flushes it.
ValueTask WriteLineAsync(string json, CancellationToken cancellationToken = default);
}