import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { EventEmitHandler } from './event-emit-handler';
import { EventEmitter } from '../../../../stencil-public-runtime';
import { EventSemantics } from '../../internal-vega-event-manager';
/** The `VegaEventEmitHandlerSlimmer` class is a TypeScript class that handles the emission of Vega events based on the availability of the 'emit' function and the event semantics namespace. */
export declare class VegaEventEmitHandlerSlimmer extends VegaSlimmer implements EventEmitHandler {
  protected vegaEvent: EventEmitter;
  protected nativeEvent: EventEmitter;
  /**
   * The function determines whether a Vega event should be emitted based on the namespace and the availability of the 'emit' function.
   *
   * @param {EventSemantics} namespace the event semantics namespace
   * @returns {boolean} a boolean value.
   */
  canHandle: ({ namespace }: EventSemantics) => boolean;
  /**
   * The function emits a Vega event with a given detail.
   *
   * @param {unknown} detail - The "detail" parameter is a generic type parameter that represents the data or
   * information that you want to emit with the event. It can be any type of data, such as a string,
   * number, object, or custom class.
   * @returns {CustomEvent} The emitted event.
   */
  handle: <T>(detail: T) => CustomEvent<T>;
}
