/**
 * 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-grid-keyboard-navigation-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 {KeyboardNavigationMixin};

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

interface KeyboardNavigationMixinConstructor {
  new(...args: any[]): KeyboardNavigationMixin;
}

export {KeyboardNavigationMixinConstructor};

interface KeyboardNavigationMixin {
  _itemsFocusable: HTMLElement|undefined;
  _focusedItemIndex: number;
  ready(): void;
  _onKeyDown(e: KeyboardEvent): void;
  _onFocusIn(e: FocusEvent): void;
  _onFocusOut(e: FocusEvent): void;
  _preventScrollerRotatingCellFocus(row: HTMLTableRowElement, index: number): void;
  _getColumns(rowGroup?: HTMLTableSectionElement|null, rowIndex?: number): GridColumnElement[];
  _resetKeyboardNavigation(): void;
  _scrollHorizontallyToCell(dstCell: HTMLElement): void;
}

import {GridColumnElement} from './vaadin-grid-column.js';
