#nullable enable
namespace Terminal.Gui;
///
/// Describes a response received from the console as a result of a request being sent via
/// .
///
public class AnsiEscapeSequenceResponse
{
///
/// Gets the error string received from e.g. see
///
/// EscSeqUtils.CSI_SendDeviceAttributes.Request
///
/// .
///
public required string Error { get; init; }
///
/// The value expected in the response after the CSI e.g.
///
/// EscSeqUtils.CSI_ReportTerminalSizeInChars.Value
///
/// should result in a response of the form ESC [ 8 ; height ; width t. In this case,
///
/// will be "8".
///
public string? ExpectedResponseValue { get; init; }
///
/// Gets the Response string received from e.g. see
///
/// EscSeqUtils.CSI_SendDeviceAttributes.Request
///
/// .
///
public required string? Response { get; init; }
///
///
/// Gets the terminator that uniquely identifies the response received from
/// 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; }
///
/// Gets if the request has a valid response.
///
public bool Valid { get; internal set; }
}