using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace Amazon.Lambda.LexV2Events
{
///
/// This class represents response from the Lambda function.
/// https://docs.aws.amazon.com/lexv2/latest/dg/lambda.html#lambda-response-format
///
[DataContract]
public class LexV2Response
{
///
/// The current state of the conversation with the user. The actual contents of the structure depends on the type of dialog action.
///
[DataMember(Name = "sessionState", EmitDefaultValue = false)]
[System.Text.Json.Serialization.JsonPropertyName("sessionState")]
public LexV2SessionState SessionState { get; set; }
///
/// One or more messages that Amazon Lex V2 shows to the customer to perform the next turn of the conversation. Required if dialogAction.type is ElicitIntent.
/// If you don't supply messages, Amazon Lex V2 uses the appropriate message defined when the bot was created.
///
[DataMember(Name = "messages", EmitDefaultValue = false)]
[System.Text.Json.Serialization.JsonPropertyName("messages")]
public IList Messages { get; set; }
///
/// Request-specific attributes that the client sends in the request.
///
[DataMember(Name = "requestAttributes", EmitDefaultValue = false)]
[System.Text.Json.Serialization.JsonPropertyName("requestAttributes")]
public IDictionary RequestAttributes { get; set; }
}
}