import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { EventEmitHandler } from './event-emit-handler';
import { EventSemantics } from '../../internal-vega-event-manager';
import { VegaEventID } from '../../event-id/vega-event-id';
import { Nullable } from '../../../../types/general';
/** The `JqueryDelegatedEventEmitHandlerSlimmer` class is a TypeScript class that handles emitting delegated events using jQuery. */
export declare class JqueryDelegatedEventEmitHandlerSlimmer extends VegaSlimmer implements EventEmitHandler {
  protected host: HTMLElement;
  private eventID;
  /**
   * The function "setEventID" sets the eventID property of the current object to the provided VegaEventID value.
   *
   * @param {VegaEventID} eventID - The eventID parameter is of type VegaEventID.
   */
  setEventID(eventID: VegaEventID): void;
  /**
   * The function determines whether a jQuery delegated event should be emitted based on certain conditions.
   *
   * @param {EventSemantics} namespace the event semantics namespace
   * @returns {boolean} The function shouldEmitJqueryDelegatedEvent() returns a boolean value.
   */
  canHandle: ({ namespace, jqueryDelegatedEvent }: EventSemantics) => boolean;
  /**
   * The function emits a delegated event with a given detail using a jQuery delegated event slimmer.
   *
   * @param {unknown} detail - The `detail` parameter is a generic type `T` that represents additional
   * information or data associated with the event. It can be any type of data that you want to pass
   * along with the event when it is emitted.
   * @param {Event} [e] the event object
   * @returns {Nullable<Event>} The emitted event.
   */
  handle: <T>(detail: T, e?: Event) => Nullable<Event>;
}
