/**@class android.view.WindowInsetsController
 Interface to control windows that generate insets.

 TODO Needs more information and examples once the API is more baked.
 @hide pending unhide
*/
var WindowInsetsController = {

/**Makes a set of windows that cause insets appear on screen.
 <p>
 Note that if the window currently doesn't have control over a certain type, it will apply the
 change as soon as the window gains control. The app can listen to the event by observing
 {@link android.view.View#onApplyWindowInsets} and checking visibility with {@link android.view.WindowInsets#isVisible}.
@param {Number} types A bitmask of {@link WindowInsets.Type.InsetType} specifying what windows the app
              would like to make appear on screen.
@hide 
*/
show : function(  ) {},

/**Makes a set of windows causing insets disappear.
 <p>
 Note that if the window currently doesn't have control over a certain type, it will apply the
 change as soon as the window gains control. The app can listen to the event by observing
 {@link android.view.View#onApplyWindowInsets} and checking visibility with {@link android.view.WindowInsets#isVisible}.
@param {Number} types A bitmask of {@link WindowInsets.Type.InsetType} specifying what windows the app
              would like to make disappear.
@hide 
*/
hide : function(  ) {},

/**Lets the application control window inset animations in a frame-by-frame manner by modifying
 the position of the windows in the system causing insets directly.
@param {Number} types The {@link InsetType}s the application has requested to control.
@param {Object {WindowInsetsAnimationControlListener}} listener The {@link WindowInsetsAnimationControlListener} that gets called when the
                 windows are ready to be controlled, among other callbacks.
@hide 
*/
controlWindowInsetsAnimation : function(  ) {},

/**Lets the application control the animation for showing the IME in a frame-by-frame manner by
 modifying the position of the IME when it's causing insets.
@param {Object {WindowInsetsAnimationControlListener}} listener The {@link WindowInsetsAnimationControlListener} that gets called when the
                 IME are ready to be controlled, among other callbacks.
*/
controlInputMethodAnimation : function(  ) {},

/**Makes the IME appear on screen.
 <p>
 Note that if the window currently doesn't have control over the IME, because it doesn't have
 focus, it will apply the change as soon as the window gains control. The app can listen to
 the event by observing {@link android.view.View#onApplyWindowInsets} and checking visibility with
 {@link android.view.WindowInsets#isVisible}.
@see #controlInputMethodAnimation(WindowInsetsAnimationControlListener)
@see #hideInputMethod()
*/
showInputMethod : function(  ) {},

/**Makes the IME disappear on screen.
 <p>
 Note that if the window currently doesn't have control over IME, because it doesn't have
 focus, it will apply the change as soon as the window gains control. The app can listen to
 the event by observing {@link android.view.View#onApplyWindowInsets} and checking visibility with
 {@link android.view.WindowInsets#isVisible}.
@see #controlInputMethodAnimation(WindowInsetsAnimationControlListener)
@see #showInputMethod()
*/
hideInputMethod : function(  ) {},


};