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 `NativeEventEmitHandlerSlimmer` class is a TypeScript class that handles emitting native events based on event semantics. */
export declare class NativeEventEmitHandlerSlimmer extends VegaSlimmer implements EventEmitHandler {
  protected nativeEvent: EventEmitter;
  /**
   * The function determines whether a native event should be emitted based on the namespace of the event semantics.
   *
   * @param {EventSemantics} namespace the event semantics namespace
   * @returns {boolean} a boolean value.
   */
  canHandle: ({ namespace }: EventSemantics) => boolean;
  /**
   * The function emits a native event with a given detail.
   *
   * @param {unknown} detail - The `detail` parameter is a generic type `T` that represents the data or
   * information that you want to pass along with the event. It can be any type of data, such as a
   * string, number, object, or custom type.
   * @param {Event} [e] the event object
   * @returns {CustomEvent} The emitted event.
   */
  handle: <T>(detail: T, e?: Event) => CustomEvent<T>;
}
