/// This code was generated by
/// \ / _    _  _|   _  _
///  | (_)\/(_)(_|\/| |(/_  v1.0.0
///       /       /

using System;
using System.Collections.Generic;
using Twilio.Base;
using Twilio.Converters;

namespace Twilio.Rest.Preview.Understand.Assistant
{

    /// <summary>
    /// PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you
    /// currently do not have developer preview access, please contact help@twilio.com.
    ///
    /// FetchAssistantFallbackActionsOptions
    /// </summary>
    public class FetchAssistantFallbackActionsOptions : IOptions<AssistantFallbackActionsResource>
    {
        /// <summary>
        /// The assistant_sid
        /// </summary>
        public string PathAssistantSid { get; }

        /// <summary>
        /// Construct a new FetchAssistantFallbackActionsOptions
        /// </summary>
        /// <param name="pathAssistantSid"> The assistant_sid </param>
        public FetchAssistantFallbackActionsOptions(string pathAssistantSid)
        {
            PathAssistantSid = pathAssistantSid;
        }

        /// <summary>
        /// Generate the necessary parameters
        /// </summary>
        public List<KeyValuePair<string, string>> GetParams()
        {
            var p = new List<KeyValuePair<string, string>>();
            return p;
        }
    }

    /// <summary>
    /// PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you
    /// currently do not have developer preview access, please contact help@twilio.com.
    ///
    /// UpdateAssistantFallbackActionsOptions
    /// </summary>
    public class UpdateAssistantFallbackActionsOptions : IOptions<AssistantFallbackActionsResource>
    {
        /// <summary>
        /// The assistant_sid
        /// </summary>
        public string PathAssistantSid { get; }
        /// <summary>
        /// The fallback_actions
        /// </summary>
        public object FallbackActions { get; set; }

        /// <summary>
        /// Construct a new UpdateAssistantFallbackActionsOptions
        /// </summary>
        /// <param name="pathAssistantSid"> The assistant_sid </param>
        public UpdateAssistantFallbackActionsOptions(string pathAssistantSid)
        {
            PathAssistantSid = pathAssistantSid;
        }

        /// <summary>
        /// Generate the necessary parameters
        /// </summary>
        public List<KeyValuePair<string, string>> GetParams()
        {
            var p = new List<KeyValuePair<string, string>>();
            if (FallbackActions != null)
            {
                p.Add(new KeyValuePair<string, string>("FallbackActions", Serializers.JsonObject(FallbackActions)));
            }

            return p;
        }
    }

}