import { InteractingEntryGenerator } from './interacting-entry-generator';
import { InteractingEntry, EventType } from '../../../types/vega-chart';
import { LegendInputType } from '../drawers/legend-drawer';
/** The PieLegendHoverGenerator class generates an InteractingEntry object that handles mouseover events on a legend of a D3 pie chart and triggers a mouseover event on the corresponding path element. */
export declare class PieLegendHoverGenerator extends InteractingEntryGenerator<LegendInputType> {
  protected eventType: EventType;
  /**
   * The function "createShouldHandle" returns a function that takes an event as a parameter and returns a boolean value.
   *
   * @returns {InteractingEntry['shouldHandle']} A function that takes an event as an argument and returns a boolean value.
   */
  protected createShouldHandle(): InteractingEntry['shouldHandle'];
  /**
   * The function "createHandle" returns the handle property of an InteractingEntry object.
   *
   * @param {LegendInputType} options the legend render options
   * @returns {InteractingEntry['handle']} The `handle` property of the `InteractingEntry` object is being returned.
   */
  protected createHandle(options: LegendInputType): InteractingEntry['handle'];
  /**
   * This function checks if a mouse event should be handled based on whether the target or its parent element has a specific class.
   *
   * @param {MouseEvent} event - MouseEvent is a type of event that is triggered by a mouse action, such
   * as clicking, hovering, or scrolling. It contains information about the event, such as the target
   * element and the position of the mouse.
   * @returns {boolean} A boolean value is being returned. The method `shouldHandle` checks if the target element
   * or its parent element has a class of `vega-chart-legend-item` and returns `true` if it does, and
   * `false` otherwise.
   */
  private shouldHandle;
  /**
   * The function handles a mouse event on a legend and triggers a mouseover event on the corresponding path element in a D3 chart.
   *
   * @param {MouseEvent} event - The event parameter is a MouseEvent, which represents a user action
   * (such as a click or hover) on a specific element in the DOM.
   * @param {LegendInputType} options - LegendInputType is a custom type that likely contains
   * information about the data being displayed in the chart, such as the names of the categories or
   * series being plotted. It may also include information about the chart's appearance or behavior,
   * such as the colors or labels used in the legend. Without more information about
   */
  private handle;
}
