/**
 * Converts value to an array.
 * If the value is a JSON string representing an array, it will be parsed.
 * If the value is already an array, it is returned.
 * If the value is undefined, it returns undefined.
 * @private
 * @param {any} value - The value to be converted. Can be a string, array, or undefined.
 * @returns {Array|undefined} - The converted array or undefined.
 * @throws {Error} - Throws an error if the value is not an array, undefined,
 * or if the value cannot be parsed into an array from a JSON string.
 */
export function arrayConverter(value: any): any[] | undefined;
/**
 * Compare two arrays for equality.
 * @private
 * @param {Array} arr1 - First array to compare.
 * @param {Array} arr2 - Second array to compare.
 * @returns {boolean} True if arrays are equal.
 */
export function arraysAreEqual(arr1: any[], arr2: any[]): boolean;
/**
 * Validates if an option can be interacted with.
 * @private
 * @param {HTMLElement} option - The option to check.
 * @returns {boolean} True if option is interactive.
 */
export function isOptionInteractive(option: HTMLElement): boolean;
/**
 * Helper method to dispatch custom events.
 * @param {HTMLElement} element - Element to dispatch event from.
 * @param {string} eventName - Name of the event to dispatch.
 * @param {Object} [detail] - Optional detail object to include with the event.
 */
export function dispatchMenuEvent(element: HTMLElement, eventName: string, detail?: any): void;
