text: // Copyright (c) Microsoft Corporation.
  // Licensed under the MIT license.
  import { throttlingRetryStrategy } from "../retryStrategies/throttlingRetryStrategy";
  import { retryPolicy } from "./retryPolicy";
  import { DEFAULT_RETRY_POLICY_COUNT } from "../constants";
  /**
   * Name of the {@link throttlingRetryPolicy}
   */
  export const throttlingRetryPolicyName = "throttlingRetryPolicy";
  /**
   * A policy that retries when the server sends a 429 response with a Retry-After header.
   *
   * To learn more, please refer to
   * https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limits,
   * https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits and
   * https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/troubleshooting-throttling-errors
   *
   * @param options - Options that configure retry logic.
   */
  export function throttlingRetryPolicy(options = {}) {
      var _a;
      return {
          name: throttlingRetryPolicyName,
          sendRequest: retryPolicy([throttlingRetryStrategy()], {
              maxRetries: (_a = options.maxRetries) !== null && _a !== void 0 ? _a : DEFAULT_RETRY_POLICY_COUNT,
          }).sendRequest,
      };
  }
  //# sourceMappingURL=throttlingRetryPolicy.js.map