/**
 * 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-filter.js
 */


// tslint:disable:variable-name Describing an API that's defined elsewhere.

import {html} from '@polymer/polymer/lib/utils/html-tag.js';

import {Debouncer} from '@polymer/polymer/lib/utils/debounce.js';

import {timeOut} from '@polymer/polymer/lib/utils/async.js';

import {PolymerElement} from '@polymer/polymer/polymer-element.js';

/**
 * `<vaadin-grid-filter>` is a helper element for the `<vaadin-grid>` that provides out-of-the-box UI controls,
 * and handlers for filtering the grid data.
 *
 * #### Example:
 * ```html
 * <vaadin-grid-column>
 *   <template class="header">
 *     <vaadin-grid-filter path="name.first"></vaadin-grid-filter>
 *   </template>
 *   <template>[[item.name.first]]</template>
 * </vaadin-grid-column>
 * ```
 */
declare class GridFilterElement extends PolymerElement {

  /**
   * JS Path of the property in the item used for filtering the data.
   */
  path: string|null|undefined;

  /**
   * Current filter value.
   */
  value: string|null|undefined;
  ready(): void;
  connectedCallback(): void;
  focus(): void;
}

declare global {

  interface HTMLElementTagNameMap {
    "vaadin-grid-filter": GridFilterElement;
  }
}

export {GridFilterElement};
