#nullable enable
namespace Terminal.Gui;
///
/// Describes an ongoing ANSI request sent to the console.
/// Use to handle the response
/// when console answers the request.
///
public class AnsiEscapeSequenceRequest : AnsiEscapeSequence
{
///
/// Invoked when the console responds with an ANSI response code that matches the
///
///
public required Action ResponseReceived { get; init; }
///
/// Invoked if the console fails to responds to the ANSI response code
///
public Action? Abandoned { get; init; }
///
/// Sends the to the raw output stream of the current .
/// Only call this method from the main UI thread. You should use if
/// sending many requests.
///
public void Send () { Application.Driver?.WriteRaw (Request); }
}