using System.Text.Json;
using System.Text.Json.Serialization;
namespace ModelContextProtocol.Protocol;
///
/// Represents the client's response to an elicitation request.
///
public sealed class ElicitResult : Result
{
///
/// Gets or sets the user action in response to the elicitation.
///
///
/// Defaults to "cancel" if not explicitly set.
///
///
///
/// -
/// "accept"
/// User submitted the form/confirmed the action
///
/// -
/// "decline"
/// User explicitly declined the action
///
/// -
/// "cancel"
/// User dismissed without making an explicit choice (default)
///
///
///
[JsonPropertyName("action")]
public string Action { get; set; } = "cancel";
///
/// Gets or sets the submitted form data.
///
///
///
/// This is typically omitted if the action is "cancel" or "decline".
///
///
/// Values in the dictionary should be of types , ,
/// , or .
///
///
[JsonPropertyName("content")]
public IDictionary? Content { get; set; }
}