/** The VegaEventID class represents an event ID with both a Vega name and a native name. */
class VegaEventID {
  /**
   * The constructor function takes two parameters, vegaName and nativeName, and assigns them to private properties of the same names.
   *
   * @param {string} vegaName - The vegaName parameter is a private property of type string. It is used to store the name of a star in the Vega system.
   * @param {VegaNativeEventNameType} nativeName - The `nativeName` parameter is a string that represents the name of the object in its native language or format.
   */
  constructor(vegaName, nativeName) {
    this.vegaName = vegaName;
    this.nativeName = nativeName;
  }
  /**
   * The function `getName` returns the name of an object using the `getVegaName` method.
   *
   * @returns {string} The `getName` method is returning the result of calling the `getVegaName` method.
   */
  getName() {
    return this.getVegaName();
  }
  /**
   * use the Event Name Manager API to determined to return the vega name of the native name
   *
   * @param {EventSemantics} eventSemantics object define namespace and jqueryDelegatedEvent properties
   * @returns {string} The method is returning the value of the variable "vegaName" or "nativeName" as a string.
   */
  getCurrentName(eventSemantics) {
    return eventSemantics.namespace !== 'native' ? this.getVegaName() : this.getNativeName();
  }
  /**
   * The function returns the value of the variable "vegaName" as a string.
   *
   * @returns {string} The method is returning the value of the variable "vegaName" as a string.
   */
  getVegaName() {
    return this.vegaName;
  }
  /**
   * The function returns the value of the variable "nativeName" as a string.
   *
   * @returns {string} The method is returning the value of the variable "nativeName" as a string.
   */
  getNativeName() {
    return this.nativeName;
  }
  /**
   * The function checks if the current event is a raw event in a browser environment.
   *
   * @returns {boolean} a boolean value.
   */
  isBrowserRawEvent() {
    return HTMLNativeEventIds.includes(this);
  }
}
const VegaChange = new VegaEventID('vegaChange', 'change');
const VegaClick = new VegaEventID('vegaClick', 'click');
const VegaFocus = new VegaEventID('vegaFocus', 'focus');
const VegaBlur = new VegaEventID('vegaBlur', 'blur');
const VegaClose = new VegaEventID('vegaClose', 'close');
const VegaOpen = new VegaEventID('vegaOpen', 'modalOpen');
const VegaValidate = new VegaEventID('vegaValidate', 'validate');
const VegaFormSubmit = new VegaEventID('vegaFormSubmit', 'formSubmit');
const VegaFormReset = new VegaEventID('vegaFormReset', 'formReset');
const VegaRowClick = new VegaEventID('vegaRowClick', 'rowClick');
const VegaRowExpand = new VegaEventID('vegaRowExpand', 'rowExpand');
const VegaSelectChange = new VegaEventID('vegaSelectChange', 'selectChange');
const VegaRowSelect = new VegaEventID('vegaRowSelect', 'rowSelect');
const VegaRowSelectAll = new VegaEventID('vegaRowSelectAll', 'rowSelectAll');
const VegaSelectAllChange = new VegaEventID('vegaSelectAllChange', 'selectAllChange');
const VegaPageSizeChange = new VegaEventID('vegaPageSizeChange', 'pageSizeChange');
const VegaDropdownClick = new VegaEventID('vegaDropdownClick', 'dropdownClick');
const VegaCreate = new VegaEventID('vegaCreate', 'create');
const VegaSearch = new VegaEventID('vegaSearch', 'search');
const VegaSearchTrigger = new VegaEventID('vegaSearchTrigger', 'searchTrigger');
const VegaHide = new VegaEventID('vegaHide', 'hide');
const VegaShow = new VegaEventID('vegaShow', 'show');
const VegaPopoverShow = new VegaEventID('vegaPopoverShow', 'popoverShow');
const VegaPopoverHide = new VegaEventID('vegaPopoverHide', 'popoverHide');
const VegaCancel = new VegaEventID('vegaCancel', 'cancel');
const VegaRemove = new VegaEventID('vegaRemove', 'remove');
const VegaPageUpdate = new VegaEventID('vegaPageUpdate', 'pageUpdate');
const VegaCurrentStepUpdate = new VegaEventID('vegaCurrentStepUpdate', 'currentStepUpdate');
const VegaToggleStatus = new VegaEventID('vegaToggleStatus', 'toggleStatus');
const VegaStateUpdate = new VegaEventID('vegaStateUpdate', 'stateUpdate');
const VegaGroupClick = new VegaEventID('vegaGroupClick', 'groupClick');
const VegaMenuClick = new VegaEventID('vegaMenuClick', 'menuClick');
const VegaExpand = new VegaEventID('vegaExpand', 'expand');
const VegaDropdownShow = new VegaEventID('vegaShow', 'dropdownShow');
const VegaDropdownHide = new VegaEventID('vegaHide', 'dropdownHide');
const VegaDropdownSearch = new VegaEventID('vegaSearch', 'dropdownSearch');
const VegaActionClick = new VegaEventID('vegaActionClick', 'actionClick');
const VegaEventClick = new VegaEventID('vegaEventClick', 'eventClick');
const VegaDateDblClick = new VegaEventID('vegaDateDblClick', 'dateDblClick');
const VegaDateClick = new VegaEventID('vegaDateClick', 'dateClick');
const VegaCountryChange = new VegaEventID('vegaCountryChange', 'countryChange');
const VegaActionButtonClick = new VegaEventID('vegaActionButtonClick', 'actionButtonClick');
const VegaMoreActionClick = new VegaEventID('vegaMoreActionClick', 'moreActionClick');
const VegaSelectFileChange = new VegaEventID('vegaSelectedFileChange', 'selectedFileChange');
const VegaImageInserted = new VegaEventID('vegaImageInserted', 'imageInserted');
const VegaRetry = new VegaEventID('vegaRetry', 'retry');
const VegaPreview = new VegaEventID('vegaPreview', 'preview');
const VegaLabelButtonClick = new VegaEventID('vegaLabelButtonClick', 'labelButtonClick');
const VegaReset = new VegaEventID('vegaReset', 'reset');
const VegaClear = new VegaEventID('vegaClear', 'clear');
const VegaComplete = new VegaEventID('vegaComplete', 'complete');
const VegaPaste = new VegaEventID('vegaPaste', 'paste');
const HTMLNativeEventIds = [VegaChange, VegaClick, VegaFocus, VegaBlur, VegaPaste];
const VegaMonthYearChange = new VegaEventID('vegaMonthYearChange', 'monthYearChange');
const VegaSelectionChange = new VegaEventID('vegaSelectionChange', 'selectionChange');
const VegaSuggestionItemClick = new VegaEventID('vegaSuggestionItemClick', 'suggestionItemClick');
const VegaNativeInputChange = new VegaEventID('vegaNativeInputChange', 'nativeInputChange');
const VegaSourceCodeChange = new VegaEventID('vegaSourceCodeChange', 'sourceCodeChange');

export { VegaRowClick as $, VegaPreview as A, VegaFormSubmit as B, VegaFormReset as C, VegaValidate as D, VegaCancel as E, VegaNativeInputChange as F, VegaFocus as G, VegaBlur as H, VegaSuggestionItemClick as I, VegaPaste as J, VegaComplete as K, VegaCountryChange as L, VegaShow as M, VegaHide as N, VegaToggleStatus as O, VegaOpen as P, VegaStateUpdate as Q, VegaGroupClick as R, VegaMenuClick as S, VegaActionClick as T, VegaPageSizeChange as U, VegaDropdownClick as V, VegaCurrentStepUpdate as W, VegaImageInserted as X, VegaSourceCodeChange as Y, VegaSelectChange as Z, VegaSelectAllChange as _, VegaClick as a, VegaRowExpand as a0, VegaRowSelect as a1, VegaRowSelectAll as a2, VegaPopoverShow as b, VegaPopoverHide as c, VegaExpand as d, VegaReset as e, VegaClose as f, VegaActionButtonClick as g, VegaChange as h, VegaEventClick as i, VegaDateDblClick as j, VegaMoreActionClick as k, VegaDateClick as l, VegaPageUpdate as m, VegaRemove as n, VegaCreate as o, VegaSearch as p, VegaMonthYearChange as q, VegaClear as r, VegaSelectionChange as s, VegaDropdownShow as t, VegaDropdownHide as u, VegaDropdownSearch as v, VegaSearchTrigger as w, VegaLabelButtonClick as x, VegaSelectFileChange as y, VegaRetry as z };
