/**
 * DO NOT EDIT
 *
 * This file was automatically generated by
 *   https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations
 *
 * To modify these typings, edit the source file(s):
 *   src/vaadin-menu-bar-interactions-mixin.js
 */


// tslint:disable:variable-name Describing an API that's defined elsewhere.
// tslint:disable:no-any describes the API as best we are able today

export {InteractionsMixin};

declare function InteractionsMixin<T extends new (...args: any[]) => {}>(base: T): T & InteractionsMixinConstructor;

interface InteractionsMixinConstructor {
  new(...args: any[]): InteractionsMixin;
}

export {InteractionsMixinConstructor};

interface InteractionsMixin {

  /**
   * If true, the submenu will open on hover (mouseover) instead of click.
   * @attr {boolean} open-on-hover
   */
  openOnHover: boolean|null|undefined;
  ready(): void;
  connectedCallback(): void;
  disconnectedCallback(): void;

  /**
   * Can be called to manually notify a resizable and its descendant
   * resizables of a resize change.
   */
  notifyResize(): void;
  _onFocusin(event: FocusEvent): void;
  _onKeydown(event: KeyboardEvent): void;
  _onMouseOver(e: MouseEvent): void;
  _close(restoreFocus: boolean): void;
}
