text: /*
   * Copyright (c) Microsoft Corporation. All rights reserved.
   * Licensed under the MIT License. See License.txt in the project root for
   * license information.
   *
   * Code generated by Microsoft (R) AutoRest Code Generator.
   * Changes may cause incorrect behavior and will be lost if the code is
   * regenerated.
   */
  
  'use strict';
  
  /**
   * Class representing a NotificationOptions.
   */
  class NotificationOptions {
    /**
     * Create a NotificationOptions.
     * @member {string} [bigText] Android 4.1+ only. Multi line message shown in
     * expanded notifications on Android 4.1+ devices. The `notificationType`
     * property must be set to `system`.
     * @member {string} [bigPicture] URL of a remote image displayed in expanded
     * notifications on
     * Android 4.1+ devices with the following constraints:
     * * The URL length is limited to 2000 characters.
     * * The image size must be less than 4 MiB.
     * * The following MIME types are supported:
     * ** image/png
     * ** image/jpeg
     * ** image/gif
     * ** image/webp
     * ** image/bmp
     * ** image/x-bmp
     * ** image/x-ms-bmp
     * * URL scheme must be HTTP or HTTPS (with valid SSL certificate).
     * * Incompatible with `bigText`, only one of the fields can be set.
     * * The `notificationType` property must be set to `system`.
     * @member {string} [sound] iOS only. The name of a sound file in the
     * application bundle. The sound in this file is played as an alert. If the
     * sound file doesn’t exist or default is specified as the value, the default
     * alert sound is played. The audio must be in one of the audio data formats
     * that are compatible with system sounds. The `deliveryTime` property must
     * be set to `any` or `background`.
     * @member {string} [actionText] The action text is the title of the right
     * button of the alert or the value of the unlock slider, where the value
     * replaces 'unlock' in 'slide to unlock'. 'View' (localized to the preferred
     * language) is used as the default value. The `deliveryTime` property must
     * be set to `any` or `background`.
     */
    constructor() {
    }
  
    /**
     * Defines the metadata of NotificationOptions
     *
     * @returns {object} metadata of NotificationOptions
     *
     */
    mapper() {
      return {
        required: false,
        serializedName: 'NotificationOptions',
        type: {
          name: 'Composite',
          className: 'NotificationOptions',
          modelProperties: {
            bigText: {
              required: false,
              serializedName: 'bigText',
              constraints: {
                MaxLength: 4000
              },
              type: {
                name: 'String'
              }
            },
            bigPicture: {
              required: false,
              serializedName: 'bigPicture',
              constraints: {
                MaxLength: 2000
              },
              type: {
                name: 'String'
              }
            },
            sound: {
              required: false,
              serializedName: 'sound',
              type: {
                name: 'String'
              }
            },
            actionText: {
              required: false,
              serializedName: 'actionText',
              type: {
                name: 'String'
              }
            }
          }
        }
      };
    }
  }
  
  module.exports = NotificationOptions;
  