#nullable enable
namespace Terminal.Gui;
///
/// Describes an Ansi escape sequence. This is a 'blueprint'. If you
/// want to send the sequence you should instead use
///
public class AnsiEscapeSequence
{
///
/// Request to send e.g. see
///
/// EscSeqUtils.CSI_SendDeviceAttributes.Request
///
///
public required string Request { get; init; }
///
///
/// The terminator that uniquely identifies the type of response as responded
/// by the console. e.g. for
///
/// EscSeqUtils.CSI_SendDeviceAttributes.Request
///
/// the terminator is
///
/// EscSeqUtils.CSI_SendDeviceAttributes.Terminator
///
/// .
///
///
/// After sending a request, the first response with matching terminator will be matched
/// to the oldest outstanding request.
///
///
public required string Terminator { get; init; }
///
/// The value expected in the response e.g.
///
/// EscSeqUtils.CSI_ReportTerminalSizeInChars.Value
///
/// which will have a 't' as terminator but also other different request may return the same terminator with a
/// different value.
///
public string? Value { get; init; }
}