/**@class android.os.Vibrator
@extends java.lang.Object

 Class that operates the vibrator on the device.
 <p>
 If your process exits, any vibration you started will stop.
 </p>

 To obtain an instance of the system vibrator, call
 {@link Context#getSystemService} with {@link Context#VIBRATOR_SERVICE} as the argument.
*/
var Vibrator = {

/**Check whether the hardware has a vibrator.
@return {Boolean} True if the hardware has a vibrator, else false.
*/
hasVibrator : function(  ) {},

/**Vibrate constantly for the specified period of time.
 <p>This method requires the caller to hold the permission
 {@link android.Manifest.permission#VIBRATE}.
@param {Number} milliseconds The number of milliseconds to vibrate.
*/
vibrate : function(  ) {},

/**Vibrate constantly for the specified period of time.
 <p>This method requires the caller to hold the permission
 {@link android.Manifest.permission#VIBRATE}.
@param {Number} milliseconds The number of milliseconds to vibrate.
@param {Object {AudioAttributes}} attributes {@link AudioAttributes} corresponding to the vibration. For example,
        specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
        {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
        vibrations associated with incoming calls.
*/
vibrate : function(  ) {},

/**Vibrate with a given pattern.

 <p>
 Pass in an array of ints that are the durations for which to turn on or off
 the vibrator in milliseconds.  The first value indicates the number of milliseconds
 to wait before turning the vibrator on.  The next value indicates the number of milliseconds
 for which to keep the vibrator on before turning it off.  Subsequent values alternate
 between durations in milliseconds to turn the vibrator off or to turn the vibrator on.
 </p><p>
 To cause the pattern to repeat, pass the index into the pattern array at which
 to start the repeat, or -1 to disable repeating.
 </p>
 <p>This method requires the caller to hold the permission
 {@link android.Manifest.permission#VIBRATE}.
@param {Object {long[]}} pattern an array of longs of times for which to turn the vibrator on or off.
@param {Number} repeat the index into pattern at which to repeat, or -1 if
        you don't want to repeat.
*/
vibrate : function(  ) {},

/**Vibrate with a given pattern.

 <p>
 Pass in an array of ints that are the durations for which to turn on or off
 the vibrator in milliseconds.  The first value indicates the number of milliseconds
 to wait before turning the vibrator on.  The next value indicates the number of milliseconds
 for which to keep the vibrator on before turning it off.  Subsequent values alternate
 between durations in milliseconds to turn the vibrator off or to turn the vibrator on.
 </p><p>
 To cause the pattern to repeat, pass the index into the pattern array at which
 to start the repeat, or -1 to disable repeating.
 </p>
 <p>This method requires the caller to hold the permission
 {@link android.Manifest.permission#VIBRATE}.
@param {Object {long[]}} pattern an array of longs of times for which to turn the vibrator on or off.
@param {Number} repeat the index into pattern at which to repeat, or -1 if
        you don't want to repeat.
@param {Object {AudioAttributes}} attributes {@link AudioAttributes} corresponding to the vibration. For example,
        specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
        {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
        vibrations associated with incoming calls.
*/
vibrate : function(  ) {},

/**
@hide Like {@link #vibrate(long, AudioAttributes)}, but allowing the caller to specify that
 the vibration is owned by someone else.
*/
vibrate : function(  ) {},

/**
@hide Like {@link #vibrate(long[], int, AudioAttributes)}, but allowing the caller to specify that
 the vibration is owned by someone else.
*/
vibrate : function(  ) {},

/**Turn the vibrator off.
 <p>This method requires the caller to hold the permission
 {@link android.Manifest.permission#VIBRATE}.
*/
cancel : function(  ) {},


};