text: /**
   * @license
   * Copyright 2017 Google Inc. All Rights Reserved.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  /* eslint no-unused-vars: [2, {"args": "none"}] */
  
  /**
   * Adapter for MDC Chip.
   *
   * Defines the shape of the adapter expected by the foundation. Implement this
   * adapter to integrate the Chip into your framework. See
   * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
   * for more information.
   *
   * @record
   */
  class MDCChipAdapter {
    /**
     * Adds a class to the root element.
     * @param {string} className
     */
    addClass(className) {}
  
    /**
     * Removes a class from the root element.
     * @param {string} className
     */
    removeClass(className) {}
  
    /**
     * Returns true if the root element contains the given class.
     * @param {string} className
     * @return {boolean}
     */
    hasClass(className) {}
  
    /**
     * Registers an event listener on the root element for a given event.
     * @param {string} evtType
     * @param {function(!Event): undefined} handler
     */
    registerInteractionHandler(evtType, handler) {}
  
    /**
     * Deregisters an event listener on the root element for a given event.
     * @param {string} evtType
     * @param {function(!Event): undefined} handler
     */
    deregisterInteractionHandler(evtType, handler) {}
  
    /**
     * Registers an event listener on the trailing icon element for a given event.
     * @param {string} evtType
     * @param {function(!Event): undefined} handler
     */
    registerTrailingIconInteractionHandler(evtType, handler) {}
  
    /**
     * Deregisters an event listener on the trailing icon element for a given event.
     * @param {string} evtType
     * @param {function(!Event): undefined} handler
     */
    deregisterTrailingIconInteractionHandler(evtType, handler) {}
  
    /**
     * Emits a custom "MDCChip:interaction" event denoting the chip has been
     * interacted with (typically on click or keydown).
     */
    notifyInteraction() {}
  
    /**
     * Emits a custom "MDCChip:trailingIconInteraction" event denoting the trailing icon has been
     * interacted with (typically on click or keydown).
     */
    notifyTrailingIconInteraction() {}
  }
  
  export default MDCChipAdapter;
  