using Polly;
{{#useRestSharp}}
using RestSharp;
{{/useRestSharp}}
{{#useHttpClient}}
using System.Net.Http;
{{/useHttpClient}}

namespace {{packageName}}.Client
{
    /// <summary>
    /// Configuration class to set the polly retry policies to be applied to the requests.
    /// </summary>
    public class RetryConfiguration
    {
{{#useRestSharp}}
        /// <summary>
        /// Retry policy
        /// </summary>
        public static Policy<IRestResponse> RetryPolicy { get; set; }

        /// <summary>
        /// Async retry policy
        /// </summary>
        public static AsyncPolicy<IRestResponse> AsyncRetryPolicy { get; set; }
{{/useRestSharp}}
{{#useHttpClient}}
        /// <summary>
        /// Retry policy
        /// </summary>
        public static Policy<HttpResponseMessage> RetryPolicy { get; set; }

        /// <summary>
        /// Async retry policy
        /// </summary>
        public static AsyncPolicy<HttpResponseMessage> AsyncRetryPolicy { get; set; }
{{/useHttpClient}}
    }
}
